2009-04-15 94 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 
相关问题