我工作的一个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是区分大小写的。但是通常,可以删除=真部分和应该也导致跳过测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top