java - 如何以编程方式获取所有传递依赖项

标签 java maven

我看过很多关于此的帖子,但我想说我并不是想写一个插件。 我正在制作一个项目分析器,它需要找出已解决的依赖关系及其路径。

给定一个 pom.xml(在项目中),我想找出所有依赖项(也是传递性的)及其路径,如果可能的话,还找出缺少的依赖项。

获得一个独立于版本的解决方案将是额外的好处。

PS:每个答案都建议使用 exec 在 cli 上运行命令,我已经在使用它并希望找到更好的方法来执行此操作。

最佳答案

您可以使用 Maven 依赖插件。我使用过并发现非常有帮助的两个我在下面提到:

  1. 依赖:树

显示所使用的整个依赖项的树结构,包括直接依赖项和传递依赖项。请务必使用详细模式。
Link

  • 依赖项:列表
  • 以列表方式显示项目中使用的所有依赖项。当我需要知道什么是传递性以及哪些是直接用于许可目的时,我个人认为这并不方便。但当您只需要知道正在使用什么或检测具有不同版本的重复库时,它就有其用武之地。
    Link

    此外还有analyze,在阅读文档时似乎很方便,但我需要尝试一下,我会的。

  • 依赖:分析
  • 关于java - 如何以编程方式获取所有传递依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28448430/

    相关文章:

    java - JBehave Maven RunningStoriesFailed 异常

    java - Apache Commons Email 安装在 Eclipse : cannot be resolved

    带有过期键的 Java 基于时间的映射/缓存

    java - 这里不允许使用数组初始值设定项

    maven-2 - Maven:无法使帮助目标正常工作(clean:help、compiler:help 等)

    java - 使用maven-jetty、tomcat部署多个 war ?

    java - 如何在我的 java 类中显示卢比符号?

    java - 某一列的更改源 RethinkDB

    maven - 如何从 docker 容器内访问私有(private) maven 存储库?

    java - 可以离线进行第一个 Maven 构建吗?