gpt4 book ai didi

maven - 如何使用 DependencyGraphBuilder 以编程方式列出所有传递依赖项,包括 Maven 中覆盖的依赖项?

转载 作者:行者123 更新时间:2023-12-04 20:48:41 25 4
gpt4 key购买 nike

这类似于其他问题( like this ),但我希望能够使用最新的 API 来做到这一点。 maven-dependency-plugin:tree 详细选项已被弃用,并且在最新的 (2.5.1) 代码中没有任何作用,因此没有很好的示例来说明如何执行此操作。

最佳答案

我相信 Aether 实用程序类来自 jcabi-aether可以帮助您获取任何 Maven Artifact 的所有依赖项的列表,例如:

File repo = this.session.getLocalRepository().getBasedir();
Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
JavaScopes.RUNTIME
);

如果您在 Maven 插件之外:
File repo = new File("/tmp/local-repository");
MavenProject project = new MavenProject();
project.setRemoteProjectRepositories(
Arrays.asList(
new RemoteRepository(
"maven-central",
"default",
"http://repo1.maven.org/maven2/"
)
)
);
Collection<Artifact> deps = new Aether(project, repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
"runtime"
);

您需要的唯一依赖是:
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-aether</artifactId>
<version>0.7.5</version>
</dependency>

关于maven - 如何使用 DependencyGraphBuilder 以编程方式列出所有传递依赖项,包括 Maven 中覆盖的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13200497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com