Maven:如何从命令行将工件项配置传递给依赖复制插件?



我想从命令行执行依赖复制插件,而无需更改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"

最新更新