2012-04-21 87 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