2012-04-21 86 views
5

在一个Maven 2的魔力,你可以使用像这样得到的依赖关系树:如何在Maven 3插件中获得依赖关系树?

DependencyNode rootNode; 
try { 
    rootNode = treeBuilder.buildDependencyTree(project, localRepository, 
     artifactFactory, artifactMetadataSource, null, artifactCollector); 
} catch (DependencyTreeBuilderException e) { 
    throw new MojoExecutionException("Failed to create dependency tree.", e); 
} 
final CollectingDependencyNodeVisitor visitor = new CollectingDependencyNodeVisitor(); 
rootNode.accept(visitor); 
final List<DependencyNode> nodes = visitor.getNodes(); 

什么是Maven的3相同呢?在此期间,许多涉及的类别已被弃用(ArtifactCollectorArtifactMetadataSource等)。

回答

1

Maven的3使用Aether为依赖解析。在文档底部附近是另一个在Maven插件中使用Aether的链接。

+0

必须给予指向以太的指针(即标记为答案),虽然我真的很喜欢yegor256的lib jcabi-aether – 2012-05-20 20:18:49

-2

MVN依赖性:复制依赖性-DoutputDirectory =

+0

我正在要求代码在mojo中实现。 – 2012-04-23 17:56:00

2

您需要使用Aether(这是Maven 3正在使用的)。我建议使用一个简单的包装,称为jcabi-aether(我是一个开发人员)。

+0

对不起,但用户944849指向Aether更快。但是,Upvoted你。 – 2012-05-20 20:23:26