如何使用Maven反应器时跳过测试?
-
27-09-2019 - |
题
我工作的一个Maven多模块项目。我想建立一个给定的模块,并跳过单元测试,以加快生成过程起来。
我尝试了以下内容:
mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests
mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True
然而,这并没有在所有的效果。任何线索?
解决方案
您第一线貌似正确的想法,但不是-Dgoals
你应该使用-Dmake.goals
。
该反应器插件的推出的第二 Maven的拷贝做它的魔力。这个 Maven的副本不一定 所有的标志和选项,你 传递给你的Maven的第一个副本, 包括--debug标志,系统 属性和-DskipTests。
可以通过附加的参数来 在衍生Maven的是将它们视为 与-Dmake.goals目标,这样的:
mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests
在换句话说,“目标”是刚刚 附加的命令行参数来传递 到生成的Maven,他们不 一定必须是“的目标。”
如果你想获得真正看中的,你 可能宁愿只干运行的反应堆 插件在-Dmake.printOnly模式, 如上所述。这将打印出 命令该插件将有 用于构建,但你也可以自行调整 命令行你的心脏的内容!
其他提示
鉴于项目结构
/
A/pom.xml
B/pom.xml
C/pom.xml
D/pom.xml
E/pom.xml
pom.xml (parent pom file that includes A,B,C,D,E modules)
类似于您
mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True
虽然我不知道如果我的方法的确反应器插件做什么,但我发现下面的方法已经足够好了,我
mvn -pl=C,D,E -DskipTests=true package
您是否尝试过包括选项 -Dmaven.test .skip =真(通知的情况下),你正在运行到您的命令行参数? Java一样,Maven是区分大小写的。但是通常,可以删除=真部分和应该也导致跳过测试。