Maven命令行参数
参考:
https://books.sonatype.com/mvnref-book/reference/running-sect-options.html
查看mvn命令options
mvn -h
常用参数项
设置系统属性 mvn -D,最常用的就是跳过test,该处定义的属性在Maven POM or Maven Plugin中同样生效
mvn install -Dmaven.test.skip=true
启用profiles
mvn package assembly:single -P profileid
离线模式,-o
针对failure的选项
-fea 编译结束后显示错误
-ff 错误后马上停止,默认应该是这个选项
-fn 无视结果
verbosity控制
-e 会把maven执行时候的错误堆栈打出来,对于maven插件的开发者很有用
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project helloEnum: Compilation failure at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497)
-X debug
-q quiet 只打印错误
Dependencies策略
-U 只是保证SNAPSHOT版本的依赖会更新到最新
-C -c 对下载的依赖进行checksum
不对子工程递归执行,有时候只想install最外层的父pom至本地仓库,可使用-N参数
mvn -N install