Maven
介绍
官方: Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件
白话: 就是个管理jar包的工具,项目管理器,简化项目构建
优势
- ①可以帮助我们构建项目,从验证,编译,测试,打包,检查,安装,部署一整套服务都会提供。
- ②可以帮助我们管理jar包的依赖和依赖关系。
Maven的安装
(1) 检查JDK安装的情况(需要1.6以上的版本):
添加JAVA_HOME,需要指向JDK安装目录;
添加PATH,添加%JAVA_HOME%\BIN;
(2)Maven的下载
http://maven.apache.org/download.cgi
(3)apache-maven-3.2.5-bin.zip解压到目录中(目录路径最好不要有空格和中文)
目录介绍
bin:存放执行脚本文件的地方
boot:存放一些扩展的地方
conf:maven的核心配置文件存放的路径
lib:maven的依赖包
(4)设置系统环境变量,MAVEN_HOME,指向maven的根目录(建议变量名M2_HOME,有些只认这个名)
设置环境变量Path,将%MAVEN_HOME%\bin加入Path中;
(5)验证Maven安装
打开cmd窗口,敲入mvn –v 查看
Maven的基本命令
常用:
mvn clean:清理,将根目录下面的target目录清理掉;
mvn compile:编译,将项目中的.java文件编译成.class文件;
mvn test:测试,执行项目下src/test/java下的命名为Xxx…Test.java文件的单元测试类;
mvn package:打包,将项目打包放置在项目根目录.target下;
mvn install:安装,将项目打包到自己本地环境;
mvn deploy:部署,将项目部署到我们的私服环境;
其它:
mvn package -DskipTest:打包跳过测试;
mvn dependency:tree:查看依赖的树形结构,用于依赖冲突排除;
mvn install:install-file “-Dfile=jar包完整地址或相对地址” “-DgroupId=自定义的groupID” “-DartifactId=自定义的artifactid” “-Dversion=自定义版本号” “-Dpackaging=jar” 将已有jar打包到本地仓库;
mvn deploy:deploy-file -Dfile=jar包 -DgroupId=groupID -DartifactId=artifacid -Dversion=版本号 -Dpackaging=jar -Durl=http://ip:port/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty :将本地已有的jar打包到私服;
Maven的生命周期
2.1清理生命周期
pre-clean:执行清理前需要完成的工作
clean:清理上一次构建生成的文件
post-clean:执行清理后需要完成的工作
2.2默认生命周期
validate:验证工程是否正确,所有需要的资源是否可用。
compile:编译项目的源代码。
test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
package:把已编译的代码打包成可发布的格式,比如jar。
verify:运行所有检查,验证包是否有效且达到质量标准。
install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
2.3站点生命周期
pre-site:生成项目站点(war)前工作
site:生成项目站点(war)
post-site:打包后工作
site-deploy:按照pom.xml配置把生成的项目站点部署到服务器上
依赖范围
- compile:如果没有指定,就会默认使用该依赖范围,对于编译、测试、运行三种classpath都有效。
- test: 只对于测试classpath有效。
- provided: 对于编译和测试classpath有效,但在运行时无效。
- runtime: 对于测试和运行classpath有效。