代码之家  ›  专栏  ›  技术社区  ›  Daniel Schneller

如何可视化JAR(非插件)依赖项?

  •  10
  • Daniel Schneller  · 技术社区  · 15 年前

    我目前正在重构一个大型Java应用程序。我已经将一个Central(Eclipse)项目拆分为大约30个单独的“组件”,但是它们仍然严重依赖于组件。为了更好地了解依赖于什么,我正在寻找一些方法来绘制编译时依赖关系图。

    到目前为止,我发现的所有工具都能够绘制包或类的依赖关系,或者Eclipse插件之间的依赖关系,但是我想到的应该只是看看每个Eclipse项目的类路径设置,并从中构建一个更粗粒度的图。

    后来我会再深入一点,但是现在这只意味着我不能看到森林里所有的树。

    9 回复  |  直到 7 年前
        1
  •  3
  •   pth - Structure101    7 年前

    Structure101 能够在JBoss5中可视化类和方法JAR级别的依赖关系。

    请参见下面的屏幕截图或 view it larger.

    alt text

        2
  •  8
  •   Peter D    15 年前

    退房 JBoss Tattletale . 这也许不能满足你的要求,但值得一看。不过,它还是比较新的。

    该工具将向您提供可以帮助您的报告

    • 确定JAR文件之间的依赖关系
    • 从类路径中查找缺少的类
    • 如果一个类位于多个JAR文件中,则定位
    • 如果同一JAR文件位于多个位置,则定位
    • 列出每个JAR文件需要和提供的内容
    • 验证类的serialversionID
    • 查找具有不同版本号的类似JAR文件
    • 查找没有版本号的JAR文件
    • 在JAR文件中定位类
    • 获取项目的OSGi状态
    • 删除黑名单API用法
        3
  •  3
  •   MattK    15 年前

    我认为有一个工具可以满足你的需要 Understand . 它不是免费的,但是你可以在投资之前下载一个免费的试用版。

        4
  •  3
  •   Suresh Kumar    15 年前
        5
  •  2
  •   Community Mr_and_Mrs_D    7 年前

    我不确定是否有(n eclipse)类路径分析工具。
    可以理解 mentioned by MattK 可以帮忙。

    我会在所有的 static code analysis tool referenced here 将是 JarAnalyzer (但没有图表),能够检测到” Physical dependencies “在坛子里。

        6
  •  2
  •   VonC    11 年前

    听起来像是 Degraph . 它分析了一堆类文件和JAR,并可视化了依赖关系。

    使它适合您的用例(我认为)的是定义要捆绑在一起的任意类组的可能性。因此,您可以复制JAR结构,查看依赖项,尤其是循环依赖项。

    可以展开组以查看其包含的类,也可以折叠组以简化视图。

    要快速了解可能的情况,请查看 Degraph Examples .

    log4j示例:

    Log4J dependencies

        7
  •  2
  •   Gian Marco    9 年前

    JDeps 已经包含在JDK中,并显示JAR依赖项。例如:

    jdeps -R -cp "my\jar\dir\*;my\other\jar\dir\*" my\classes\dir
    
        8
  •  1
  •   satyagraha    12 年前

    签出类依赖关系分析器(CDA): http://www.dependency-analyzer.org/

    我发现它对整理罐子很有用。

        9
  •  0
  •   Gregor    14 年前

    为了记录(以及为了改进这个知识库),我发现虾非常有用: http://www.thechiselgroup.org/shrimp

    Shrimp-Visualization

    此外,为了便于依赖性检查,ByEcycle值得一试,但似乎不再更新: Byecycle

    这两个工具也提供Eclipse集成。