2009-04-15 93 views
23

在maven 2.x中,如何在命令行上設置插件的屬性,而不是在pom或settings.xml中的插件的<配置>中?在maven 2中的命令行上設置插件的屬性

例如,如果我正在使用mvn dependency:copy-dependenciesseen here)如何設置useRepositoryLayout屬性而不觸及pom或我的settings.xml?

謝謝!

回答

19

答案就在我面前的複製依賴mojo文檔(我甚至連接到它)。該屬性的文檔包括您可以參考的表達式。

useRepositoryLayout:將每個 神器在同一目錄佈局 作爲默認存儲庫。例如: /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar

* Type: boolean 
* Since: 2.0-alpha-2 
* Required: No 
* Expression: ${mdep.useRepositoryLayout} 
* Default: false 

要設置命令行這個屬性,你需要運行

mvn -Dmdep.useRepositoryLayout=true <goals go here> 
+17

爲了澄清,你需要這樣的事:`mvn -Dmdep.useRepositoryLayout = true依賴:複製依賴關係` – Steve 2011-07-07 09:20:19

6

通常你使用與java系統屬性相同的語法設置maven屬性。你有沒有嘗試過下面一行?

mvn -DuseRepositoryLayout=true dependency:copy-dependencies 
+4

這隻有在插件作者用表達式註釋變量時纔有效。它們將顯示在插件文檔中,如上面的答案中所示。 – 2010-02-06 21:38:18

+0

謝謝。這對我行得通。 – 2015-06-24 09:22:36

13

將屬性定義爲任意屬性......不是標準的maven道具如版本。在我來說,我定義了一個新的屬性build.version:

<properties> build.version=unknown </properties> 

我使用屬性:

<warName>${build.version}</warName> 

我定義屬性:

mvn -P prod -Dbuild.version=app_name-branch_name-build_number package 
相關問題