5

我正在尝试构建一个单独的项目,该项目可以找到任何给定项目的 Maven 依赖项。我指的是 Aether 示例,但我找不到定义另一个项目以查找依赖项的方法。

如下图1所示,项目 1 具有项目 2 的依赖项,项目 2 具有项目 3 的依赖项。如果我在依赖项查找器中选择项目 1,它应该显示项目 1 的所有依赖项,即项目 2。

在此处输入图像描述

我指的是遵循 Aether 代码段,但我无法找到设置另一个项目的方法(通过设置 pom 文件或项目目录)

    RepositorySystem system = Booter.newRepositorySystem();

    RepositorySystemSession session = Booter.newRepositorySystemSession( system );

    Artifact artifact = new DefaultArtifact( "org.eclipse.aether:aether-impl:1.0.0.v20140518" );

    ArtifactDescriptorRequest descriptorRequest = new ArtifactDescriptorRequest();
    descriptorRequest.setArtifact( artifact );
    descriptorRequest.setRepositories( Booter.newRepositories( system, session ) );

    ArtifactDescriptorResult descriptorResult = system.readArtifactDescriptor( session, descriptorRequest );

    for ( Dependency dependency : descriptorResult.getDependencies() )
    {
        System.out.println( dependency );
    }
4

2 回答 2

5

您不需要以编程方式执行此操作。您可以简单地调用dependency:tree

mvn dependency:tree

我还建议您调用它,-Dverbose以防您真的很难弄清楚为什么选择某个版本的依赖项而不是另一个版本(您可能希望它会使用它)。

或者,或者,如果您想以平面形式查看依赖项,您也可以使用dependency:list

mvn dependency:list
于 2015-01-30T12:37:54.603 回答
0

如果您使用带有 maven2 插件的 eclipse,那么当您打开 pom 文件时,它会显示几个视图以根据您的要求查看依赖项。

于 2015-01-30T08:23:06.347 回答