maven常用命令

转载自 anonymas最终编辑 oswlh生命周期阶段以及对应的目标
http://hi.baidu.com/anonymas/blog/item/08384d44975c91036a63e527.html

maven标准目录结构
http://hi.baidu.com/anonymas/blog/item/a1e849f6c85aff64dcc474eb.html

Profile定义/系统与环境变量列表
http://hi.baidu.com/anonymas/blog/item/da847e109a1e805bf919b861.html

POM参考以及POM最佳实践
http://hi.baidu.com/anonymas/blog/item/c4b604aba1eae3f61f17a2a8.html

用来查找某个制品的maven路径
http://www.mvnrepository.com/

maven官方plugin列表
http://maven.apache.org/plugins/index.html

mojo项目的plugin的列表
http://mojo.codehaus.org/plugins.html

Maven手册的地址
http://www.sonatype.com/books/maven-book/reference_zh/public-book.html
http://www.sonatype.com/books/maven-book/reference/

官方POM文件完整参考
http://maven.apache.org/ref/2.2.1/maven-model/maven.html

官方settings文件完整参考
http://maven.apache.org/settings.html

官方依赖机制介绍
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

mvn archetype:generate 列出所有可用的模板供选择并创建

mvn dependency:analyze 使用Maven Dependency插件进行优化
mvn dependency:resolve 已解决依赖的列表
mvn dependency:tree 项目的整个依赖树

mvn install -X 查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件 (慎用,输出信息巨大)

mvn scm:checkin -Dmessage=”Message”
mvn scm:checkout
mvn scm:update

mvn help:effective-pom 查看项目的有效POM
mvn help:active-profiles 列出活动的Profile

mvn eclipse:eclipse 生成eclipse项目
mvn eclipse:clean 

mvn test -Dtest=MyTest 只对src.test.java下的MyTest类进行测试
mvn test -Dtest=MyTest -DfailIfNoTests=false 如果测试类里没有测试方法不报错

mvn package -Dmaven.test.skip=true 打包之前不执行单元测试

mvn jetty:run
 jetty插件运行web程序

exec
插件可以用来运行程序
surefire插件可以用来测试程序

mvn archetype:create -DgroupId=com.mycompany.app    -DartifactId=my-webapp       -DarchetypeArtifactId=maven-archetype-web

下载依赖包的源代码:mvn dependency:sources

-DdownloadSources=true

-DdownloadJavadocs=true

mvn clean install -Pproduction -X

mvn install -Dmaven.test.skip=true
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

mvn assembly:assembly

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>

mvn install:install-file
-Dfile=<path-to-file>
-DgroupId=<group-id>
-DartifactId=<artifact-id>
-Dversion=<version>
-Dpackaging=<packaging>

-DgeneratePom=true
-DcreateChecksum=true
-DpomFile=path-to-pom
-DlocalRepositoryPath=path-to-specific-local-repo
-DlocalRepositoryId=id-for-specific-local-repo

mvn deploy:deploy-file
-Durl=file
-DrepositoryId=some.id
-Dfile=path-to-your-artifact-jar
-DgroupId=your.groupId
-DartifactId=your-artifactId
-Dversion=version
-Dpackaging=jar
-DgeneratePom=false
-DpomFile=path-to-your-pom.xml
-Dclassifier=bin
-DuniqueVersion=false

mvn archetype:generate

-DarchetypeGroupId=org.simple
-DarchetypeArtifactId= simple
-DarchetypeVersion=1.0-SNAPSHOT

mvn clean install
生命周期阶段描述validate验证项目是否正确,以及所有为了完整构建必要的信息是否可用generate-sources生成所有需要包含在编译过程中的源代码process-sources处理源代码,比如过滤一些值generate-resources生成所有需要包含在打包过程中的资源文件process-resources复制并处理资源文件至目标目录,准备打包compile编译项目的源代码process-classes后处理编译生成的文件,例如对Java类进行字节码增强(bytecode enhancement)generate-test-sources生成所有包含在测试编译过程中的测试源码process-test-sources处理测试源码,比如过滤一些值generate-test-resources生成测试需要的资源文件process-test-resources复制并处理测试资源文件至测试目标目录test-compile编译测试源码至测试目标目录test使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布prepare-package在真正的打包之前,执行一些准备打包必要的操作。这通常会产生一个包的展开的处理过的版本(将会在Maven 2.1+中实现)package将编译好的代码打包成可分发的格式,如JAR,WAR,或者EARpre-integration-test执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境integration-test如果有必要的话,处理包并发布至集成测试可以运行的环境post-integration-test执行一些在集成测试运行之后需要的动作。如清理集成测试环境。verify执行所有检查,验证包是有效的,符合质量规范install安装包至本地仓库,以备本地的其它项目作为依赖使用deploy复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)
mvn jar:jar
JAR打包默认的目标

生命周期阶段目标process-resourcesresources:resourcescompilecompiler:compileprocess-test-resourcesresources:testResourcestest-compilecompiler:testCompiletestsurefire:testpackagejar:jarinstallinstall:installdeploydeploy:deploy
POM打包默认的目标
生命周期阶段目标packagesite:attach-descriptorinstallinstall:installdeploydeploy:deploy
EJB打包默认的目标
生命周期阶段目标process-resourcesresources:resourcescompilecompiler:compileprocess-test-resourcesresources:testResourcestest-compilecompiler:testCompiletestsurefire:testpackageejb:ejbinstallinstall:installdeploydeploy:deployMaven提供了对EJB 2和3的支持。必须配置EJB插件来为EJB3指定打包类型,否则该插件默认认为EJB为2.1,并寻找某些EJB配置文件是否存在。

WAR打包默认的目标
生命周期阶段目标process-resourcesresources:resourcescompilecompiler:compileprocess-test-resourcesresources:testResourcestest-compilecompiler:testCompiletestsurefire:testpackagewar:warinstallinstall:installdeploydeploy:deploy注意war:war插件需要一个web.xml配置文件在项目的src/main/webapp/WEB-INF目录中。

EAR打包默认的目标
生命周期阶段目标generate-resourcesear:generate-application-xmlprocess-resourcesresources:resourcespackageear:earinstallinstall:installdeploydeploy:deploy

 

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>