如何从maven插件中的顶级依赖项中获取“重定位”或已解析的工件ID

时间:2016-04-21 00:39:57

标签: maven maven-plugin

我可能会犯这个错误,但我正试图在maven插件中获得项目的顶级依赖项。

我可以使用此调用

获取所有(顶级和传递)依赖项
MavenProject.getArtifacts()

我可以使用此调用获得顶级依赖项

MavenProject.getDependencyArtifacts()

问题是后一次调用中返回的artifactIds有时与前一次调用中的artifactIds不同。当依赖关系被“重新定位”时会发生这种情况,例如xerces:xerces:2.4.0

 <project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>xerces</groupId>
  <artifactId>xerces</artifactId>
  <version>2.4.0</version>
  <distributionManagement>
    <relocation>
      <groupId>xerces</groupId>
      <artifactId>xercesImpl</artifactId>
    </relocation>
  </distributionManagement>
 </project>

如果开发人员在他们的pom中指定xerces:xerces:2.4.0,则getArtifacts()返回xerces:xercesImpl。但getDependencyArtifacts()返回xerces:xerces。

0 个答案:

没有答案