maven常用命令
生命周期阶段以及对应的目标
hi.baidu/anonymas/blog/item/08384d44975c91036a63e527.html
maven打包本地jar包
maven标准目录结构
hi.baidu/anonymas/blog/item/a1e849f6c85aff64dcc474eb.html

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

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

用来查某个制品的maven路径
www.mvnrepository/

maven官方plugin列表
/plugins/index.html

mojo项目的plugin的列表
/plugins.html

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

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

官方settings文件完整参考
/settings.html

官方依赖机制介绍
/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 只对st.java下的MyTest类进行测试
mvn test -Dtest=MyTest -DfailIfNoTests=false 如果测试类里没有测试方法不报错

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

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

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

mvn archetype:create -pany.app    -DartifactId=my-webapp      -DarchetypeArtifactId=maven-archetype-web

mvn clean install -Pproduction -X

mvn install -st.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
-upId
-DartifactId=your-artifactId
-Dversion=version
-Dpackaging=jar
-DgeneratePom=false
-l
-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,或者EAR
pre-integration-test
执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境
integration-test
如果有必要的话,处理包并发布至集成测试可以运行的环境
post-integration-test
执行一些在集成测试运行之后需要的动作。如清理集成测试环境。
verify
执行所有检查,验证包是有效的,符合质量规范
install
安装包至本地仓库,以备本地的其它项目作为依赖使用
deploy
复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)

mvn jar:jar
JAR打包默认的目标
生命周期阶段
目标
process-resources
resources:resources
compile
compiler:compile
process-test-resources
resources:testResources
test-compile
compiler:testCompile
test
surefire:test
package
jar:jar
install
install:install
deploy
deploy:deploy

POM打包默认的目标
生命周期阶段
目标
package
site:attach-descriptor
install
install:install
deploy
deploy:deploy

EJB打包默认的目标
生命周期阶段
目标
process-resources
resources:resources
compile
compiler:compile
process-test-resources
resources:testResources
test-compile
compiler:testCompile
test
surefire:test
package
ejb:ejb
install
install:install
deploy
deploy:deploy
Maven提供了对EJB 2和3的支持。必须配置EJB插件来为EJB3指定打包类型,否则该插件默认认为EJB为2.1,并寻某些EJB配置文件是否存在。

WAR打包默认的目标
生命周期阶段
目标
process-resources
resources:resources
compile
compiler:compile
process-test-resources
resources:testResources
test-compile
compiler:testCompile
test
surefire:test
package
war:war
install
install:install
deploy
deploy:deploy
注意war:war插件需要一个l配置文件在项目的src/main/webapp/WEB-INF目录中。

EAR打包默认的目标
生命周期阶段
目标
generate-resources
ear:generate-application-xml
process-resources
resources:resources
package
ear:ear
install
install:install
deploy
deploy:deploy

2、Maven项目的标准目录介绍
Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。这样做也省去了很多设置的麻烦。
以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。Maven推荐大家尽可能的遵守这样的目录结构。
src/main/java
Application/Library sources
src/main/resources
Application/Library resources
src/main/filters
Resource filter files
src/main/assembly
Assembly descriptors
src/main/config
Configuration files
src/main/webapps
Web application sources
src/test/java
Test sources
src/test/resources
Test resources
src/test/filters
Test resource filter files
src/site
Site
Project's license
Project's readme
在顶级目录上是工程的描述文件l(如果使用Ant则还包括其他属性文件,l或l),另外还包括提供给最终用户的文件,如,, 等等。
顶级目录还包括两个子目录:src,target。顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。
Target目录是所有工程编译构建的输出目录。
Src目录包含所有工程的源码文件,配置文件,资源文件等等。它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。