gpt4 book ai didi

java - 传递给maven插件的参数的优先级是什么?

转载 作者:行者123 更新时间:2023-11-30 08:07:58 24 4
gpt4 key购买 nike

我发现可以在 pom.xml 中配置参数或在 CLI 中传递参数,例如 -Dxxxxx=...

我的问题是,是否在文件 pom.xml 中配置了相同的参数并在 CLI 中传递,该参数将由 Maven 插件使用?有没有关于这个优先级的文档?

大多数情况下,我相信 CLI 会覆盖,但这个真实案例显示相反的情况。

<plugin>
<groupId>de.saumya.mojo</groupId>
<artifactId>rspec-maven-plugin</artifactId>
<version>1.0.0-beta</version>
<configuration>
<launchDirectory>${project.build.directory}/test-classes</launchDirectory>
<summaryReport>${project.build.directory}/test-Ruby.xml</summaryReport>
<specSourceDirectory>./new_test</specSourceDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>

当我运行时

mvn test -DspecSourceDirectory=./spec

该插件仍然选择了 pom.xml 中的 specSourceDirectory,即 ./new_test

我使用的是maven 3.0.5,java 7,jruby 1.7.5

<小时/>

解决了:它应该是一个属性而不是硬编码

<specSourceDirectory>${specSourceDirectory}</specSourceDirectory>

最佳答案

一件事是插件的配置参数,另一件事是Maven的调用属性(用户属性)。例如,查看Surefire's skip configuration parameter 。有一个skip可以通过 maven.test.skip 设置的参数属性(property)。一般来说,这两个名称是独立的,因此可以不同也可以相同。

就您而言,<specSourceDirectory>${specSourceDirectory}</specSourceDirectory>将是后一种情况,并且将按您的预期工作。

关于java - 传递给maven插件的参数的优先级是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com