如何找到任何给定项目的 Maven 依赖项?
How to find maven dependencies of any given project?
我正在尝试构建一个单独的项目,它可以找到任何给定项目的 Maven 依赖项。我指的是 Aether 示例,但我找不到定义另一个项目以查找依赖项的方法。
如下图1,项目1有项目2的依赖,项目2有项目3的依赖,如果我select项目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 );
}
如果您将 eclipse 与 maven2 插件一起使用,那么当您打开 pom 文件时,它会显示几个视图以根据您的要求查看依赖关系。
您不需要以编程方式执行此操作。您可以简单地调用 dependency:tree:
mvn dependency:tree
我还建议您使用 -Dverbose
调用它,以防您真的、真的很难弄清楚为什么选择某个版本的依赖项而不是另一个版本(您可能期望而是使用它)。
或者,如果您想以平面形式查看依赖关系,您也可以使用 dependency:list
mvn dependency:list
我正在尝试构建一个单独的项目,它可以找到任何给定项目的 Maven 依赖项。我指的是 Aether 示例,但我找不到定义另一个项目以查找依赖项的方法。
如下图1,项目1有项目2的依赖,项目2有项目3的依赖,如果我select项目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 );
}
如果您将 eclipse 与 maven2 插件一起使用,那么当您打开 pom 文件时,它会显示几个视图以根据您的要求查看依赖关系。
您不需要以编程方式执行此操作。您可以简单地调用 dependency:tree:
mvn dependency:tree
我还建议您使用 -Dverbose
调用它,以防您真的、真的很难弄清楚为什么选择某个版本的依赖项而不是另一个版本(您可能期望而是使用它)。
或者,如果您想以平面形式查看依赖关系,您也可以使用 dependency:list
mvn dependency:list