我想从命令行执行依赖复制插件,而无需更改pom.xml文件。我需要从命令行传递所有配置选项。我可以找到一些参考资料来做到这一点:
mvn -DuseRepositoryLayout=true dependency:copy
问题是我不知道如何从命令行设置<artifactItems><artifactItem>
属性。
我将如何调用在命令行中传递所有必要参数的 maven 依赖复制插件?
你似乎混合了两个不同的目标:
- 复制依赖项(在您的示例中引用(:
将项目列表从存储库复制到定义的目标 地点。
- 副本(在您的链接中引用(
项目依赖项从存储库复制到 定义的位置。
mojo 中的用户属性(如copy-dependencies
(提供了一种使用-DMyUserProperty
语法从命令行设置属性的方法。
从您引用的copy
插件文档中,您可以读到artifact
属性的用户属性artifact
.
因此从命令行传递它的示例是有效的:
mvn dependency:copy -Dartifact=mygroupId:myartifactId:myversion
但是同一个插件文档没有指定为artifactItems
属性定义的任何用户属性。
此外,还明确指出:
在 POM 配置中使用
artifactItems
。
因此,您只能从POM文件中设置artifactItems
。
由于您不想打扰POM,并且您更喜欢在外部指定要复制的依赖项,因此dependency:copy-dependencies
提供足够接近哪个copy-dependencies
应该更适合您的需求的服务,与copy-dependencies
相反,它提供了一个用户属性来包含/排除artifactIds/groupIds:
用户属性:包括工件标识
。
用户属性:包括组 ID
你可以这样写:
mvn dependency:copy-dependencies -DincludeArtifactIds="myArtifactOne,
myArtifactTwo,..." -DincludeGroupIds="myGroupIdOne, myGroupIdTwo"