[英]Maven - changing defaulted argument to other pom.xml defined
我有一個測試分發版,用於與Maven一起運行的testNG。 每當我需要默認的測試發行版時,我都可以這樣做,每當我需要幾個或僅一個測試時,我可以在命令行中更改DoverallParams
類的名稱(盡管名稱已更改)。
<properties>
<param1>x</param1>
<param2>y</param2>
<param3>z</param3>
<defaultParams>${param1},${param2}</defaultParams>
<defaultParams2>${param1},${param3}</defaultParams2> <-This does not exist yet!
<overallParams>${defaultParams}</overallParams>
</properties>
我現在需要在不同的平台上使用一組不同的測試,而不必重復或分支項目。 因此,該想法是添加defaultPrams2
並以某種方式在命令行中選擇它。
問題 :
有什么辦法在命令行中使我選擇defaultParams2
作為overallParams
嗎? 更簡單了,有沒有辦法在命令行中引用pom屬性? 您對如何執行此操作還有其他想法嗎?
有什么辦法在命令行中使我選擇
defaultParams2
作為overallParams
嗎?
是的, Maven個人資料可以為您提供幫助。
您可以在pom中包含以下內容:
<profiles>
<profile>
<id>meaningful-name-here</id>
<properties>
<overallParams>${defaultParams2}</overallParams>
</properties>
</profile>
</profiles>
然后,您可以從命令行調用Maven,如下所示:
mvn clean install -Pmeaningful-name-here
基本上, -P<id>
選項將激活配置文件,然后在該配置文件上覆蓋overallParams
屬性的值,並在運行時和根據需要切換到defaultParams2
值。
這種方法比以下方法更容易出錯:
mvn clean install -DoverallParams=params
您每次需要在其中鍵入所需參數的位置(因此將按需覆蓋overallParams
的值)。 只需選擇一個比meaningful-name-here
更好(且更短)的ID即可,
有沒有一種方法可以在命令行中引用pom屬性?
是的,如上所述,通過顯式覆蓋( -D
)或配置文件( -P
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.