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

时间:2018-06-11 17:53:31

标签: maven

我想从命令行执行Dependency Copy Plugin而无需更改pom.xml文件。我需要从命令行传递所有配置选项。我可以找到一些参考文献:

mvn -DuseRepositoryLayout=true dependency:copy

问题是我不知道如何从命令行设置<artifactItems><artifactItem>属性。

如何在命令行中调用maven依赖项复制插件传递所有必需参数?

1 个答案:

答案 0 :(得分:0)

您似乎混合了两个不同的目标:

  • copy-dependencies(在您的示例中引用):
  

将工件库列表从存储库复制到已定义的目标   位置。

  • 复制(在您的链接中引用)
  

将项目依赖项从存储库复制到的目标   定义的位置。

mojo中的用户属性(如copy-dependencies)提供了一种使用-DMyUserProperty语法从命令行设置属性的方法。

在您refercopy插件文档中,您可以看到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"