创建普通应用项目:
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的默认设置 |
5个你必须掌握的maven命令
说到maven,相信用过的人都会感叹原来部署也可以这么简单.我相信大家平时用的最多应该是mvn clean,mvn test,mvn install等命令,今天,我要向大家介绍5个暴光率不是很高,但却非常有用的命令,相信掌握了这些命令后,大家对maven会有一个更加深刻的认识.
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包的源码就都有了