【发布时间】:2012-03-10 23:29:45
【问题描述】:
我发现了一些关于工件检索问题的帖子,但答案似乎不适用于我的具体情况。
我正在编写一个有助于生成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 可以正常工作。
有什么想法吗?
【问题讨论】:
标签: java maven maven-2 maven-plugin