mvn高级构建

指定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。

posted @ 2019-12-24 13:27  kancy  阅读(858)  评论(0编辑  收藏  举报