3
我发现了一些围绕工件检索问题的帖子,但是在我的具体情况下,答案似乎不起作用。使用Maven 2 API获得WAR工件的依赖关系
我正在写一个插件,将有助于skinny war EAR一代,我正在运行一个我为我的EAR maven模块编写的插件。在插件代码中,我已经到了想要获得WAR依赖关系的依赖关系/工件的阶段 - 目前这些并没有通过我尝试过的任何东西。我认为这是因为即使在我的EAR模块上运行依赖项:树也不包含它们,它们不是“传递”依赖项。
// 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
可以正常工作。
任何想法?