Maven 安装配置
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期;
Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务;
以下是Maven的安装配置过程:
1)下载Maven
下载后 apche-maven-x.x.zip 压缩包解压到某个路径下,这里示例解压到【D:/apache-maven-3.5】
2)设置环境变量
在环境变量中创建以下键值对:
1
M2_HOME "D:/apache-maven-3.5" //maven解压后所在的路径
2
MAVEN_HOME "D:/apache-maven-3.5" //这个键值可以不配置,但是有一些较老的项目任然使用MAVEN_HOME,所以添加进去比较保险
添加以下值到 Path 变量中,方便调用Maven工具:
1
%M2_HOME%\bin
3)验证配置
在命令行中输入:
1
mvn -version
如果返回maven版本信息,则配置正确;
本地仓库
本地仓库用于储存本地仓库的依赖包, 默认路径在 ${user.home}/.m2/repository ;
为了方便管理,可以修改本地仓库的储存路径,
修改 【Maven根目录/conf/settings.xml 】配置文件,在其中的<settings>标签下添加以下标签,标签内容为新仓库的路径:
1
<localRepository>D:\Maven 3.5\repository</localRepository>
中央仓库
当建立一个 Maven 的项目,Maven 会检查当前的 pom.xml 文件,以确定哪些依赖下载。
Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 查找下载;
目前 Maven 新版本的中央储存库为:http://search.maven.org/
可以通过该页面查看Maven支持的 jar 包及其详细信息;
使用Maven向项目添加第三方JAR包
传统的项目导入依赖,要自己手动导入,但在Maven中,只需要在 pom.xml 中添加该依赖包的坐标就可以完成这些操作了;
比如要将 Log4j2 导入项目,在项目的 pom.xml 中添加:
1
<dependencies>
2
<dependency>
3
<groupId>org.apache.logging.log4j</groupId>
4
<artifactId>log4j-api</artifactId>
5
<version>2.8.2</version>
6
</dependency>
7
<dependency>
8
<groupId>org.apache.logging.log4j</groupId>
9
<artifactId>log4j-core</artifactId>
10
<version>2.8.2</version>
11
</dependency>
12
</dependencies>
<dependencies>:依赖标签组,包含多个<dependency>;
<
dependency
>:一个要导入的依赖库信息,里面包含多个说明该依赖库信息的标签;
<groupId>:依赖库的组织名;
<artifactId>:依赖库的包名;
<version>:依赖库的版本信息;
groupId,artifactId,version信息可以在中央仓库网站查询获取;
定制库到Maven本地仓库
有依赖库在中央仓库是没有收纳的,这是可以手动将该依赖库导入到本地仓库,之后再通过pom.xml导入该库;
将依赖库导入手动导入本地仓库的指令:
1
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
比如在中央仓库没有收纳 servlet-api-8.5.16.jar ,要导入该库,执行以下指令:
1
mvn install:install-file -Dfile=“D:\libraries\tomcat\servlet-api.jar” -DgroupId=org.apahce.tomcat -DartifactId=servlet-api -Dversion=8.5.16 -Dpackaging=jar
之后在 pom.xml 中添加以下:
1
<dependency>
2
<groupId>org.apache.tomcat</groupId>
3
<artifactId>servlet-api</artifactId>
4
<version>8.5.16</version>
5
</dependency>
Maven中包含了很多便于使用的工具,这些工具位于Maven根目录/bin 目录下,主要有以下:
1)package 指令
package 指令用于构建项目,进入项目 pom.xml 所在目录,运行以下指令,项目打包为WAR或JAR,取决于pom.xml的<packaging>标签内容为"war"或"jar";
1
mvn package
2)compile 指令
compile 指令用于编译项目;
1
mvn compile
2)test 指令
test 指令
用于单元测试;
1
mvn test # 运行所有单元测试
2
mvn test -Dtest=TestName # 运行某个单元测试
3)install 指令
install 指令用于打包项目, 当“install”在执行阶段,上述所有阶段 “validate“, “compile“, “test“, “package“, “integration-test“, “verify” 阶段, 包括目前的“install”阶段将被执行有序 ,install 过程的具体细节有 pom.xml 决定;
1
mvn install
4)clean 指令
clean
指令用于清除项目,在Maven的项目中,很多缓存输出在“target”文件夹中。如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署。使用时,进入 pom.xml 所在文件夹,执行以下指令:
1
mvn clean