一、maven的介绍
maven是一个项目构建和jar包依赖的管理工具。
二、使用maven的优势
①可以帮助我们构建项目,从验证,编译,测试,打包,检查,安装,部署一整套服务都会提供。
②可以帮助我们管理jar包的依赖和依赖关系。
三、maven知识点总结
1.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打包到私服;
2.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配置把生成的项目站点部署到服务器上
四、总结
在实际开发中使用的maven的场景会非常多,比如每次编码完成之后,编写了众多的测试类,可以自己单元进行测试,也可以使用maven命令进行整体测试;
在项目迭代中只要修改pom版本号就可以清楚进行版本的迭代;
如果我们写一个项目需要供组内小伙伴使用我们可以将我们写的项目部署到私服上就可以共享了;
项目的依赖也是非常重要的,尤其是scope的定义,当我们不需要传递依赖的时候最好设置成provider,这样会缩小打包的大小;
项目依赖冲突,可以参考一种的树结构查看命令,然后进行排除就可以了。