指定pom文件,打包指定的module,并且自动打包这个模块所依赖的其他模块。
mvn clean install -f pom.xml -pl vmc-business-parent/vmc-schedule-service -am -Dmaven.test.skip=true -Ptest
maven多线程并行编译。
mvn -T 4 clean install -Dmaven.compile.fork=true -Dmaven.test.skip=true
mvn -T 1C clean install -Dmaven.compile.fork=true -Dmaven.test.skip=true
其中 -T 4
表示开启4个线程进行并行,-T 1c
表示CPU线程的倍数。
mvn高级构建命令
mvn -h 可以看到很多命令及其用途
-
-am --also-make 同时构建所列模块的依赖模块;
-
-amd -also-make-dependents 同时构建依赖于所列模块的模块;
-
-pl --projects
构建制定的模块,模块间用逗号分隔; -
-rf -resume-from
从指定的模块恢复反应堆。 假设有如下聚合模块:account-aggregator ,其依次包含如下几个模块:account-parent, account-email, account-persist;其中,account-email和account-persist模块都继承account-parent模块。
<modules> <module>account-email</module> <module>account-persist</module> <module>account-parent</module> </modules>
-
例一:
当执行mvn clean install后会得到如下几个模块:account-aggregator, account-parent, account-email, account-persist。 -
例二:
-pl 构建制定模块
当执行mvn clean install -pl accouont-email,account-persist后会得到如下几个模块:account-email和account-persist。 -
例三:
-am 选项可以同时构建所列模块的依赖模块。
当执行mvn clean install -pl account-email -am 后会得到如下几个模块:account-parent和account-email。 -
例四:
-amd 选项可以同时构建依赖于所列模块的模块。
mvn clean install -pl account-parent -amd 后会得到如下模块:account-parent、account-email和account-persist。 -
例五:
-rf 选项可以在完整的反应堆构建顺序基础上,指定从哪个模块开始构建。
mvn clean install -rf account-email ,由于account-email位于第三,它之后有account-persist,因此会得到如下输出模块:account-email和account-persist。 -
例六:
在-pl -am或者-pl -amd的基础上,还能应用-rf参数,以对裁剪后的反应堆再次裁剪。
mvn clean install -pl account-parent -amd -rf account-email
其中,-pl 和 -amd参数会得到:account-parent, account-email和account-persist模块,在此基础上 -rf参数制定从account-email开始构建,于是会得到:account-email和account-persist。