我发现了一些关于获取构件的帖子,但是答案似乎不适用于我的特定情况。我正在编写一个插件,用于skinny war EAR生成,并运行我为EAR maven模块编写的插件。在插件代码中,我想要获取WAR依赖项的依赖/构件 - 目前尝试的任何方法都没有得到它们。我认为这是因为即使在我的EAR模块上运行dependency:tree也不包括它们,它们不是“传递性”依赖项。
(注:这里使用了项目的
这个不起作用。
有什么想法吗?
// Neither of the two below return WAR transitive dependencies, just the WARs
project.getDependencies()
project.getArtifacts()
我的新方法目前是这样的:
ArtifactRepository localRepository = project.getDistributionManagementArtifactRepository();
List remoteRepositories = project.getRemoteArtifactRepositories();
ResolutionGroup resolutionGroup = artifactMetadataSource.retrieve(warArtifact, localRepository, remoteRepositories);
Set<Artifact> artifactDependencies = resolutionGroup.getArtifacts();
(注:这里使用了项目的
ArtifactMetadataSource
组件对象和依赖项maven-dependency-plugin:2.4
)这个不起作用。
artifactDependencies
集合为空。 运行位于warArtifact
模块目录中的mvn dependency:tree
命令可以正常工作,因此一定是有可能的。有什么想法吗?