【问题标题】:How to retrieve automatically dependencies of an arbitrary jar?如何自动检索任意 jar 的依赖项?
【发布时间】:2019-06-04 04:32:46
【问题描述】:

我正在静态分析一个罐子。在这个 jar 中,有对既没有在 jar 本身也没有在 pom.xml 文件或任何其他配置文件中定义的类的引用。如何在不使用 IDE 的情况下自动检索包含缺失类的 jar?

示例:在 jython2.7.1b3 jar (https://mvnrepository.com/artifact/org.python/jython/2.7.1b3) 中有对“javax.servlet.HTTPServlet”的引用(在 JDeps 中找到依赖项),但未在任何地方定义。

【问题讨论】:

    标签: java maven jar dependencies


    【解决方案1】:

    你可以像这个答案一样使用maven的依赖树:

    https://stackoverflow.com/a/3342951/7758117

    创建一个只有 pom.xml 和对外部依赖项的依赖项的空项目。由于这个 jar 有一个 pom.xml,你应该能够在你的项目上运行 mvn dependency:tree,然后获取你的 jar 的依赖关系以及哪个库使用这个类。

    【讨论】:

    • 我已经尝试过这个解决方案,但事实是 mvn dependency:tree 只有在将 pom.xml 提供到目标 jar 时才有效。实际上在(在我的情况下)jython2.7.1b3.jar 的 pom.xml 中不包含依赖部分,因此 mvn 无法构建依赖树
    猜你喜欢
    • 2016-05-04
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    相关资源
    最近更新 更多