我想从命令行执行Dependency Copy Plugin而无需更改pom.xml文件。我需要从命令行传递所有配置选项。我可以找到一些参考文献:
mvn -DuseRepositoryLayout=true dependency:copy
问题是我不知道如何从命令行设置<artifactItems><artifactItem>
属性。
如何在命令行中调用maven依赖项复制插件传递所有必需参数?
答案 0 :(得分:0)
您似乎混合了两个不同的目标:
将工件库列表从存储库复制到已定义的目标 位置。
将项目依赖项从存储库复制到的目标 定义的位置。
mojo中的用户属性(如copy-dependencies
)提供了一种使用-DMyUserProperty
语法从命令行设置属性的方法。
在您refer的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:
用户属性:includeArtifactIds
...
用户属性:includeGroupIds
你可以这样写:
mvn dependency:copy-dependencies -DincludeArtifactIds="myArtifactOne,
myArtifactTwo,..." -DincludeGroupIds="myGroupIdOne, myGroupIdTwo"