【问题标题】:How do you figure out with Eclipse which JARs depend on which one?您如何使用 Eclipse 确定哪些 JAR 依赖于哪个?
【发布时间】:2010-10-03 11:43:47
【问题描述】:

我正在尝试使用 Eclipse JDT AST 解析类。在包含初始 JAR 并整理出更多依赖项之后,它包含 7 个以上的 JAR,我仍然有 NoClassDefFoundError 异常。每当我尝试使用很少或没有文档来测试库时,就会出现这种情况。尝试和错误似乎是解决此问题的一种非常愚蠢(且令人讨厌)的方法。

有没有办法使用 Eclipse 自动解决这个问题?


更新: 后来我发现添加所有你拥有的 JAR,并使用 Ctrl-T(查看/定位类型),可以让你手动定位 JAR。 That was the solution Google 迄今为止提供的。有没有更好的办法?

【问题讨论】:

    标签: java eclipse jar dependencies


    【解决方案1】:

    如果您参考这个 SO 问题Finding unused jars used in an eclipse project,您还有:

    ClassPathHelper,可以快速关注未解析的类:

    它会自动识别孤立的 jars、被阻止(模糊)的类等等。

    唯一的限制是未在类中定义的依赖项,例如在依赖注入框架配置文件中。

    【讨论】:

      【解决方案2】:

      我发现设置一个专门用于浏览 Eclipse 源代码的工作区非常有用。通过这种方式,您可以像使用自己的插件项目一样使用 PDE 工具,如 Plug-in Spy、捆绑依赖分析、浏览文档等。我发现this article at Vogella 是一个非常有用的指南。

      如果你知道你想要的类是哪个包,你可以通过创建一个新的 OSGi 启动配置来生成依赖的传递闭包,只选择单个包。通过点击Add Required 按钮,您可以查看使用您感兴趣的包所需的所有包。

      编辑

      • 根据您的问题,不清楚您要在其中运行编译器的环境。如果您对在 OSGi 环境之外运行的可嵌入 Java 编译器感兴趣,我可以建议 Janino

      【讨论】:

        【解决方案3】:

        您可以使用如下依赖分析器: JarAnalyzer

        这将解析一个充满 Jars 的目录并为您提供一个 XML 输出依赖关系图,其中有多种工具可以以图形或文本形式显示。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-29
          • 2019-08-26
          • 2012-05-02
          • 2022-11-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多