Maven作为一种方便的项目管理工具,已在实践中被大量使用。今天,编者就总结一下自己在maven学习中的心得和大家分享,以帮助还未接触过maven的朋友快速入手。
Maven 构建生命周期阶段: prepare-resources, compile, package, install
Maven 有以下三个标准的生命周期:clean,default,site
创建基于maven的java工程:mvn archetype:generate
生成工程中的几个解释:
其他要求输入情况直接回车。
如果创建的时web应用,则运行:
mvn archetype:generate
-DgroupId=com.companyname.automobile
-DartifactId=trucks
-DarchetypeArtifactId=maven-archetype-webapp
-DinteractiveMode=false
构建工程:在项目目录下,运行: mvn cleanpackage
运行java类主函数:在项目目录的target\classes下运行:java com… Class
强制更新快照:mvn cleanpackage -U
公共的依赖可以使用 pom 父的概念被统一放在一起。没有必要在第二代之后的pom里声明父pom是它的依赖。 Maven 通过使用可传递的依赖机制来实现该细节。
Maven常用命令:
1. 创建Maven的普通java项目:
mvn archetype:create -DgroupId=packageName-DartifactId=projectName
2. 创建Maven的Web项目:
mvn archetype:create -DgroupId=packageName-DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
3. 编译源代码: mvn compile
4. 编译测试代码:mvn test-compile
5. 运行测试:mvn test
6. 产生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安装jar:mvn install
9. 清除产生的项目:mvn clean
10. 生成eclipse项目:mvn eclipse:eclipse
11. 生成idea项目:mvn idea:idea
12. 组合使用goal命令,如只打包不测试:mvn-Dtest package
13. 编译测试的内容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)
16. 清除eclipse的一些系统设置:mvneclipse:clean
注意事项:
mvn package 只是将你的代码打包到输出目录,一般的是 target下面。maven通过install将本地工程打包成jar包,放入到本地仓库中,再通过pom.xml配置依赖引入到当前工程。
使用maven搭建web框架时,注意packaging选择new,并且在项目创建完成后记得检查project Facts,Java Compier和buildPath的jdk一定要一致。
要将maven真实转化为webapp,还需要在project Facts中将dynamic web勾选上,之后工程路径的webapp下将会出现新的网站应用文件,之后,还需要在pom.xml中配置javaee-api和javaee-web-api的依赖。