加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

如何以编程方式列出所有传递依赖项,包括使用DependencyGraphBuilder在Maven中重写的依赖项?

发布时间:2020-05-27 10:41:53 所属栏目:程序设计 来源:互联网
导读:这类似于其他问题( like this),但我希望能够使用最新的API执行此操作. maven-dependency-plugin:tree verbose选项已被弃用,并且在最新的(2.5.1)代码中没有做任何事情,所以没有很好的例子说明如何做到这一点. 我相信 jcabi-aether的 Aether实用程序类可以帮助

这类似于其他问题( like this),但我希望能够使用最新的API执行此操作. maven-dependency-plugin:tree verbose选项已被弃用,并且在最新的(2.5.1)代码中没有做任何事情,所以没有很好的例子说明如何做到这一点. 我相信 jcabi-aether的 Aether实用程序类可以帮助您获取任何Maven工件的所有依赖项列表,例如:

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,"runtime"
);

您需要的唯一依赖是:

<dependency>
  <groupId>com.jcabi</groupId>
  <artifactId>jcabi-aether</artifactId>
  <version>0.7.5</version>
</dependency>

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读