Java 设置插件';maven 2中命令行上的s属性

Java 设置插件';maven 2中命令行上的s属性,java,maven-2,command-line,Java,Maven 2,Command Line,在maven 2.x中,如何在命令行上而不是在pom或settings.xml中设置插件的属性 例如,如果我使用的是mvn dependency:copy dependencies(),那么如何在不接触pom或my settings.xml的情况下设置useRepositoryLayout属性 谢谢 答案就在我面前的副本依赖项mojo文档中(我甚至链接到了它)。该属性的文档包括可以引用该属性的表达式 useRepositoryLayout:放置每个 同一目录布局中的工件 作为默认存储库。例子:

在maven 2.x中,如何在命令行上而不是在pom或settings.xml中设置插件的属性

例如,如果我使用的是
mvn dependency:copy dependencies
(),那么如何在不接触pom或my settings.xml的情况下设置useRepositoryLayout属性


谢谢

答案就在我面前的副本依赖项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>
mvn-Dmdep.useRepositoryLayout=true

通常使用与java系统属性相同的语法设置maven属性。你试过下面这句话吗

mvn -DuseRepositoryLayout=true dependency:copy-dependencies

将属性定义为任意属性。。。不是标准的maven道具,比如版本。在本例中,我定义了一个新的属性build.version:

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

这里的其他答案我不清楚。我是这样理解的:

如果插件代码使用系统属性作为其参数,则可以在命令行上定义该值

在插件代码中有3种不同的方法可以实现这一点:

@parameter expression="${aSystemProperty}" 
@parameter default-value="${anExpression}"
@parameter property="aSystemProperty"
如果在特定属性的插件代码中使用了这些方法的任何一种或组合,则可以在命令行上为插件参数指定一个值。以上代码取自

如果将插件与上述代码一起使用,则可以使用以下命令为属性指定值:

mvn -DaSystemProperty=my-value <goal-here>
mvn-DaSystemProperty=my值

只有当插件作者用表达式注释变量时,此选项才有效。它们将显示在插件文档中,如上面的回答所示。这里有一个很好的链接:虽然原始用户的特定问题得到了回答,但这个回答回答了一般问题,即文章的标题。谢谢为了澄清这一点,您需要类似这样的内容:
mvn-Dmdep.useRepositoryLayout=true dependency:copy dependencies
@parameter expression="${aSystemProperty}" 
@parameter default-value="${anExpression}"
@parameter property="aSystemProperty"
mvn -DaSystemProperty=my-value <goal-here>