如何在一个maven命令中执行多个目标,但每个目标使用不同的参数

时间:2015-04-01 04:37:25

标签: java maven

我试图在一个maven命令中运行2个maven目标,如:

mvn release:prepare release:perform -Darguments='-Dmaven.test.skip=true'

但是,我希望第一个目标是跳过测试,第二个目标是不跳过测试。

必须在一行命令中。

除了在2个单独的命令中执行它们之外,还有办法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

mvn -Dmaven.test.skip=true release:prepare release:perform

在release-plugin中,参数通过-Darguments='....'传递给由release:perform启动的子进程。其他参数将传递给由release:prepare启动的进程。

答案 1 :(得分:0)

我花了好几个小时。

我的工作释放命令是:

-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>

&#34;参数&#34;发布插件的参数覆盖了我传递给发行版的-Darguments:prepare(为了传递给发布版:由release:prepare执行)。