mvn dependency:copy-dependencies
(在这里看到),如何设置useRepositoryLayout属性,而不触及pom文件或我的settings.xml文件?
谢谢!
mvn dependency:copy-dependencies
(在这里看到),如何设置useRepositoryLayout属性,而不触及pom文件或我的settings.xml文件?
谢谢!
答案就在复制依赖关系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>
将属性定义为任意属性,而不是标准的Maven属性,比如版本号。在我的情况下,我定义了一个新属性build.version:
<properties> build.version=unknown </properties>
我使用了这个属性:
<warName>${build.version}</warName>
我定义了这个属性:
mvn -P prod -Dbuild.version=app_name-branch_name-build_number package
mvn -DuseRepositoryLayout=true dependency:copy-dependencies
这里其他的答案对我来说不够清晰。这是我理解的方式:
如果插件代码使用系统属性作为其参数,那么您可以在命令行上定义该值。
在插件代码中,有三种不同的方法可以实现此目的:
@parameter expression="${aSystemProperty}"
@parameter default-value="${anExpression}"
@parameter property="aSystemProperty"
如果插件代码针对特定属性使用了这些方法中的任何一种或组合,则可以在命令行上为插件参数指定值。上述代码来自maven文档。
如果您正在使用包含上述代码的插件,则可以使用以下命令指定属性的值:
mvn -DaSystemProperty=my-value <goal-here>
mvn -Dmdep.useRepositoryLayout=true dependency:copy-dependencies
- Steve