Maven基本使用


Maven基本使用

一、安装

  • 先去官网下载maven(http://maven.apache.org/download.cgi)

  • 下载下来解压后如下所示
    这里写图片描述

  • 配置环境变量
    这里写图片描述
    这里写图片描述

  • 查看配置成功与否
    这里写图片描述

  • maven配置文件
    这里写图片描述

  • maven项目目录结构
    这里写图片描述

  • 使用myeclipse构建maven项目
    这里写图片描述

  • pom.xml文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
    <groupId>com.robinliew.foo</groupId>
    <artifactId>foo-war</artifactId>
    <version>0.0.1</version>
    </parent>

    <!--
    maven 的所有构件均通过坐标进行组织和管理。maven 的坐标通过 5 个元素进行定义,其中 groupId、artifactId、version 是必须的,packaging 是可选的(默认为jar),classifier 是不能直接定义的。

    groupId组名,主项目标识 定义当前 Maven 项目所属的实际项目,跟 Java 包名类似
    artifactId - 工程名,子项目(模块)标识 定义当前 Maven 项目的一个模块,默认情况下,Maven 生成的构件,其文件名会以 artifactId 开头
    packaging - 打包方式 定义项目打包方式,如 jar,war,pom,zip ……,默认为 jar。
    version - 版本
    name - 项目描述名
    classifier:定义项目的附属构件。classifier 不能直接定义,通常由附加的插件帮助生成
    -->
    <groupId>com.robinliew.mavendemo</groupId>
    <version>0.0.1</version>
    <artifactId>com.robinliew.mavendemo</artifactId>
    <packaging>war</packaging>
    <name>mavendemo</name>
    <description>maven快速入门</description>
    <!-- 配置依赖的jar包 ->
    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    </dependency>
    </dependencies>

    </project>

  • 依赖详解
    这里写图片描述

    • 其中依赖范围有如下几种
      • compile:编译依赖范围,默认值。此选项对编译、测试、运行三种 classpath 都有效,如 hibernate-core-3.6.5.Final.jar,表明在编译、测试、运行的时候都需要该依赖
      • test:测试依赖范围。只对测试有效,表明只在测试的时候需要,在编译和运行时将无法使用该类依赖,如 junit;
      • provided:已提供依赖范围。编译和测试有效,运行无效。如 servlet-api ,在项目运行时,tomcat 等容器已经提供,无需 Maven 重复引入;
      • runtime:运行时依赖范围。测试和运行有效,编译无效。如 jdbc 驱动实现,编译时只需接口,测试或运行时才需要具体的 jdbc 驱动实现;
      • system:系统依赖范围。和 provided 依赖范围一致,需要通过 显示指定,且可以引用环境变量;
      • import:导入依赖范围。使用该选项,通常需要 pom,将目标 pom 的 dependencyManagement 配置导入合并到当前 pom 的 dependencyManagement 元素。
    • 依赖传递和以来范围
    • 依赖冲突
    • 依赖排除

设置 Project Facets,设置部署打包结构,删除测试相关目录
这里写图片描述
这里写图片描述
此时创建一个maven项目完成了。

  • 构建及项目部署
    右键 pom.xml - Run As - Maven -install
    这里写图片描述
    这里写图片描述

二、maven常用的命令

  • 首先通过cmd进入要操作的项目目录
    这里写图片描述
    • 常用的几种命令
      • mvn compile 编译项目源代码
      • mvn clean 删除 target 目录
      • mvn test 运行测试(运行src/test/java中的测试代码)
      • mvn clean package(组合命令) Maven 自动帮我们完成项目的编译、测试、打包
      • mvn install 效果跟mvn clean package命令一样,且项目被打包发布到了 maven 的仓库,以后其他项目需要依赖到这个项目,就可以通过在 pom.xml 文件中添加依赖来引用。
      • mvn archetype:generate 自动创建Maven目录结构
        • 下面是mvn archetype:generate 的使用例子
          这里写图片描述
          默认回车即可,输入groupId等,回车
          这里写图片描述

三、仓库


Author: jony
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source jony !
 Previous
Linux进程线程查看命令与java线程的监控分析 Linux进程线程查看命令与java线程的监控分析
Linux进程查看命令PS命令 1.不带参数的ps使用 2.显示所有的当前进程 12ps –ax -a 代表 all。同时加上x参数会显示没有控制终端的进程。ps -ax | less 可以结合less命令和管道来使用以方便查
2018-04-08
Next 
RS纠删算法原理 RS纠删算法原理
##RS纠删算法原理 A.1 纠删码是存储领域常用的数据冗余技术, 相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠性。 Reed Solomon Coding是存储领域常用的一种纠删码,它的基本原理如下: 给定n个
2018-04-08
  TOC