我可能会犯这个错误,但我正试图在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。