**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
四年前关闭了。
Improve this question
是否有某种工具能够分析Java源文件,从中构造图形并以某种标准/可理解的格式提供图形数据?
它肯定不需要有图形用户界面,我更喜欢一个命令行的东西,这样我就可以处理各种工具的输出(分割,可视化,...)。
**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
四年前关闭了。
Improve this question
是否有某种工具能够分析Java源文件,从中构造图形并以某种标准/可理解的格式提供图形数据?
它肯定不需要有图形用户界面,我更喜欢一个命令行的东西,这样我就可以处理各种工具的输出(分割,可视化,...)。
9条答案
按热度按时间x9ybnkn61#
我对命令行工具不太确定,但我喜欢使用ObjectAid对类图进行反向工程:
http://www.objectaid.com/
您可以轻松地将任何类及其关系添加到ObjectAid图中。它以扩展名为ucls的XML格式保存文件。以下是一个示例:
您也可以使用PlantUML,但它更适合于正向工程而不是反向工程:
http://plantuml.sourceforge.net/
PlantUML有它自己独特的语法,您也可以获得源代码--但是它不像ObjectAid那样容易组合
这两个工具都是eclipse插件,很抱歉我不知道有什么命令行工具可以满足你的要求。
lsmd5eda2#
至于命令行工具,您可能想看看
jdeps
:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.html
piok6c0g3#
这里是Class Dependency Analyzer (CDA)。
此工具的目的是分析Java™类文件,以便了解有关这些类之间依赖关系的更多信息。
下面是API:http://www.dependency-analyzer.org/#PluginAPI
jdgnovmf4#
从https://github.com/riy/degraph开始
你可以用Degraph分析类文件和jar文件,得到一个graphml文件作为结果,这可以用yed渲染。
3wabscal5#
你可能会用到UMLGraph。它和大多数图形工具一样,利用了GraphViz/dot。我还没有用过它,所以我不能给予它一个评价。
话虽如此,您也可以使用GraphViz和dot来创建自己的极简图形工具。
我已经使用GraphViz/dot生成了许多有用的图表类型,从Spring上下文的可视化到IntelliJ模块依赖关系,再到复杂XML文档的可视化。
4dc9hkyq6#
试试Google CodePro Analytix。这个工具提供了关于dependencies的很好的洞察力。
但是我还没有尝试过从命令行的Angular 使用它,我希望它能支持报表导出,这可以在工具链中进一步解析。
qmelpv7a7#
我在IDE中使用此功能-IntelliJ Idea
更多信息和屏幕截图请参见此页面http://www.jetbrains.com/idea/features/uml_class_diagram.html
js5cn81o8#
如果问题仍然存在,请尝试使用Code Iris插件。它与Intellij Idea http://plugins.jetbrains.com/plugin/7324一起工作
它提供了类、包和模块级依赖图的可视化表示,并且可以将数据导出为JSON格式。
它仍然是更新和免费的。
i34xakig9#
我刚刚创建了一个最小的工具,它可以分析和显示包之间的依赖关系图,不需要太多的交互,也不需要其他程序。
https://github.com/battlesnake/jorgy
这是一个没有文档记录的项目,因为它是一个快速的黑客项目,但基本上你运行它,并传递到你的源目录的路径作为第一个参数给它。
它不关心目录名或文件名,但要求:
package
声明。你可以修改
Application
类中的GraphStyle
接口来满足你的需要。这个接口提供了一种方法来告诉图形生成器哪些依赖性弱,哪些不应该显示在图形上,等等。