如何在一个Maven的命令执行多个目标,但使用不同的参数为每个目标
问题描述:
我试图运行2个Maven目标像一个Maven的命令:如何在一个Maven的命令执行多个目标,但使用不同的参数为每个目标
mvn release:prepare release:perform -Darguments='-Dmaven.test.skip=true'
,但是,我想第一个目标跳过测试,第二个不跳过测试。
它必须在一行命令中。
有没有办法做到这一点,而不是在两个单独的命令中执行它们?
答
您可以使用以下方法:
mvn -Dmaven.test.skip=true release:prepare release:perform
在释放插件参数通过-Darguments='....'
传递到由release:perform
启动子流程。其他参数传递到由release:prepare
开始的进程。
+1
This不适合我。 -Dmaven.test.skip = true不会跳过任何目标的测试 – Eric 2015-04-06 23:42:35
答
我花了几个小时。
我的工作发布命令:
-Darguments='-DskipTests=true' -DskipTests release:prepare release:perform
实际上是在释放我的插件问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<arguments>${release.arguments}</arguments>
发布插件的“论据”参数被重写,我通过-Darguments到版本:准备(为了被传递到发布:通过发布执行:准备)。
你可以发布你的'POM.xml'文件内容,也许是最小的内容 – dvhh 2015-04-01 04:42:33
你看过配置文件吗?这个问题可能会有所帮助,http://*.com/questions/17117589/how-can-i-skip-tests-in-maven-install-goal-while-running-them-in-maven-test-goa – Adi 2015-04-01 05:06:38