maven常用命令

来源:互联网 发布:中佛罗里达大学 知乎 编辑:程序博客网 时间:2024/05/29 04:21


创建普通应用项目: 
mvn archetype:create -DgroupId=com.byread -DartifactId=blog

创建WEB项目: 
mvn archetype:create -DgroupId=com.byread-DartifactId=blogweb -DarchetypeArtifactId=maven-archetype-webapp

创建appfuse项目: 
mvn archetype:create-DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject


--------------------------------命令说明--------------------------------

一。archetype( 内建插件,他的create任务将建立项目骨架 ):archetype:create

二。groupId 项目的java包结构:com.byread

三。artifactId 项目的名称
blog

四。archetypeArtifactId( 项目骨架的类型 ):
* maven-archetype-archetype 
* maven-archetype-j2ee-simple 
* maven-archetype-mojo 
* maven-archetype-portlet 
* maven-archetype-profiles (currently under development) 
* maven-archetype-quickstart 
* maven-archetype-simple (currently under development) 
* maven-archetype-site 
* maven-archetype-site-simple, and 
* maven-archetype-webapp

--------------------------------其他命令说明--------------------------------
发布到本地: 
mvn install:install -file -Dfile=D:/opensource/dbunit-2.2/dbunit-2.2.jar -DgroupId=dbunit-DartifactId=junitperf -Dversion=2.2 -Dpackaging=jar

发布到远程: 
mvn deploy:deploy -file -DgroupId=staticComparison -DartifactId=static-comparison -Dversion=2.0 -Dpackaging=jar -Dfile=c:/staticComparison_2.0.jar -Durl=file:Y:\repo 

生成Eclipse项目结构: 
mvn eclipse:eclipse 

清理(删除target目录下编译内容) 
mvn clean 

仅有页面文件发生变化时 
mvn war:exploded 

maven定义的生命周期中主要的相位如下: 
validate: 验证项目是否正确以及相关信息是否可用。 
compile: 编译。 
test: 通过junit进行单元测试。 
package: 根据事先指定的格式(比如jar),进行打包。 
integration-test: 部署到运行环境中,准备进行集成测试。 
verify: 对包进行有效性性和质量检查。 
install: 安装到本地代码库。 
deploy: 在集成或发布环境,将包发布到远程代码库。 
mvn help:effective-pom :你应该能看到一个大得多的pom。他暴露maven的默认设置

转自:http://hi.baidu.com/yangzhibin_bai/blog/item/db18a333b7422ef01a4cffec.html/cmtid/616bdcf0790ac5a1a40f52f4

 

 

1. mvn help:describe

你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的.
参数:
1.  -Dplugin=pluginName
2. -Dgoal(或-Dmojo)=goalName:与-Dplugin一起使用,它会列出某个插件的goal信息,如果嫌不够详细,同样可以加-Ddetail.(注:一个插件goal也被认为是一个 “Mojo”)

下面大家就运行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!

2. mvn archetype:generate

你是怎么创建你的maven项目的?是不是像这样:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,如果你还再用的话,那你就out了,现代人都用mvn archetype:generate了,它将创建项目这件枯燥的事更加人性化,你再也不需要记那么多的archetypeArtifactId,你只需输入archetype:generate,剩下的就是做”选择题”了.

3. mvn tomcat:run

用了maven后,你再也不需要用eclipse里的tomcat来运行web项目(实际工作中经常会发现用它会出现不同步更新的情况),只需在对应目录(如/ryanote)里运行 mvn tomat:run命令,然后就可在浏览器里运行http://localhost:8080/ryanote查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置:

01<build>02   <plugins>03     <plugin>04       <groupId>org.codehaus.mojo</groupId>05       <artifactId>tomcat-maven-plugin</artifactId>06       <configuration>07          <path>/web</path>08          <port>9090</port>09       </configuration>10     </plugin>11   </plugins>12</build>

当然你也可以在命令里加参数来实现特定的功能,下面几个比较常用:
1. 跳过测试:-Dmaven.test.skip(=true)
2. 指定端口:-Dmaven.tomcat.port=9090
3. 忽略测试失败:-Dmaven.test.failure.ignore=true
当然,如果你的其它关联项目有过更新的话,一定要在项目根目录下运行mvn clean install来执行更新,再运行mvn tomcat:run使改动生效.

4. mvnDebug tomcat:run

这条命令主要用来远程测试,它会监听远程测试用的8000端口,在eclipse里打开远程测试后,它就会跑起来了,设断点,调试,一切都是这么简单.上面提到的那几个参数在这里同样适用.

5. mvn dependency:sources

故名思义,有了它,你就不用到处找源码了,运行一下,你项目里所依赖的jar包的源码就都有了