您的位置:首页 > 运维架构 > Linux

maven常用的命令(window控制台和linux命令是一致的)

2017-08-25 15:04 363 查看
六个必须掌握的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 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web
08 9090 09 10 11 12 当然你也可以在命令里加参数来实现特定的功能,下面几个比较常用: 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包的源码就都有了

6. mvn clean package  进入源码目录,运行该命令,生成jar包

其他常用命令:
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的一些系统设置:mvn eclipse:clean

package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库,供其他项目使用.

命令参数备注
mvn -v--version 显示版本信息;
mvn -V--show-version 显示版本信息后继续执行Maven其他目标;
mvn -h--help 显示帮助信息;
mvn -e--errors 控制Maven的日志级别,产生执行错误相关消息;
mvn -X--debug 控制Maven的日志级别,产生执行调试信息;
mvn -q--quiet 控制Maven的日志级别,仅仅显示错误;
mvn -Pxxx 激活 id 为 xxx的profile (如有多个,用逗号隔开);
mvn -Dxxx=yyy 指定Java全局属性;
mvn -o--offline 运行offline模式,不联网更新依赖;
mvn -N--non-recursive 仅在当前项目模块执行命令,不构建子模块;
mvn -pl--module_name 在指定模块上执行命令;
mvn -ff--fail-fast 遇到构建失败就直接退出;
mvn -fn--fail-never 无论项目结果如何,构建从不失败;
mvn -fae--fail-at-end 仅影响构建结果,允许不受影响的构建继续;
mvn -C--strict-checksums 如果校验码不匹配的话,构建失败;
mvn -c--lax-checksums 如果校验码不匹配的话,产生告警;
mvn -U强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖);
mvn -npu--no-plugin-s 对任何相关的注册插件,不进行最新检查(使用该选项使Maven表现出稳定行为,该稳定行为基于本地仓库当前可用的所有插件版本);
mvn -cpu--check-plugin-updates 对任何相关的注册插件,强制进行最新检查(即使项目POM里明确规定了Maven插件版本,还是会强制更新);
mvn -up--update-plugins [mvn -cpu]的同义词;
mvn -B--batch-mode 在非交互(批处理)模式下运行(该模式下,当Mven需要输入时,它不会停下来接受用户的输入,而是使用合理的默认值);
mvn -f--file <file> 强制使用备用的POM文件;
mvn -s--settings <arg> 用户配置文件的备用路径;
mvn -gs--global-settings <file> 全局配置文件的备用路径;
mvn -emp--encrypt-master-password <password> 加密主安全密码,存储到Maven
settings文件里;
mvn -ep--encrypt-password <password> 加密服务器密码,存储到Maven settings文件里;
mvn -npr--no-plugin-registry 对插件版本不使用~/.m2/plugin-registry.xml(插件注册表)里的配置;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: