1
我看到的一個參數可以在pom.xml
被配置或在CLI通過諸如-Dxxxxx=...
傳遞給maven插件的參數的優先級是什麼?
我的問題是,如果相同的參數都在文件pom.xml
配置並在CLI,這將是由行家可以使用通過插入?有沒有關於這個優先權的文件?
大部分我相信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
這是./new_test
我使用maven 3.0.5,Java 7中,JRuby的1.7.5
挑specSourceDirectory
得到它解決:它應該是一個屬性,而不是的硬編碼
<specSourceDirectory>${specSourceDirectory}</specSourceDirectory>
命令行參數覆蓋IIRC。似乎很容易測試這個假設。 –
如果pom參數超過了CLI參數,那麼它明顯減少了CLI參數的用處。 –
@DaveNewton:這是一個慣例還是由Maven代碼執行? –