2013-08-29 103 views
0

例如爲什麼用-D代替-P來激活maven配置文件?

<profiles> 
    <profile> 
     <id>rofileX</id> 
    </profile> 
</profiles> 

該配置文件可能已經使用-ProfileX激活,爲什麼我看到人們不願意添加到激活屬性中,例如,

<profiles> 
    <profile> 
     <id>rofileX</id> 
     <activation> 
      <property> 
       <name>oX</name> 
      </property> 
     </activation> 
    </profile> 
</profiles> 

允許使用-DoX進行激活?

是否有任何理由使用-D的-P insteal?或者你可以通過-D反對-P來獲得更多的東西?

謝謝

回答

4
一個

用法是僅使用一個參數來激活多個配置文件。此外,您可以在POM的其他部分使用${myproperty}重複使用-Dmyproperty

+0

太棒了!現在這對我更有意義,謝謝! – user1589188

1

屬性不一定已經被通過-D Maven的選項設置,它也可以是系統屬性。所以可以在不更改調用的情況下在配置文件之間切換。

[編輯] 從Maven documentation

-Dmyproperty代替 -Pmyprofile
-D, --define <arg> 
Defines a system property 

... 

Properties defined on the command line are also available as properties to be used in a Maven POM or Maven Plugin 
+0

是的,但我的問題是關於一個明確的屬性名稱爲此目的而不是系統屬性。我認爲吉爾有一個更接近的答案。謝謝。 – user1589188

相關問題