用于分析Java源代码的工具

时间:2012-02-10 15:06:46

标签: java analyzer

对于学生项目,我需要扩展Java项目。 问题是这个项目没有很多评论,很难分析。 我正在寻找能够生成类图的东西,如果可能的话,还有一个序列图。

我已经尝试umbrello(但是有一些大类的错误)和agilej,但项目有很多包和子包,我没有找到如何生成图表递归。

还有其他工具可以做到吗?

提前谢谢。

2 个答案:

答案 0 :(得分:1)

在Eclipse中,您可以选择将包呈现设置为Flat或Hierarchical。在平面模式下,您可以看到src /文件夹下每个包的完全限定名称,在分层模式下,您必须展开以查看src / com / mypackage等。在AgileJ中,当您处于平面模式时(默认模式为Eclipse)然后无论你从包资源管理器中拖动什么,无论是项目,文件夹,库,Java源文件,类还是其他什么,它都将通过所有权树进行递归并添加它找到的类,就像你期望的那样

当您在层次结构模式下使用包浏览器时,您在问题中描述的异常 - 而不是通过子包递归 - 会发生。在这种情况下,发生的情况是类图只接收一个包的一滴 - 但它无法知道包浏览器的包呈现模式,或者即使拖动源自包浏览器。

因此,如果您真的想通过包的层次结构进行递归,并且出于某种原因不希望在平面模式下使用包浏览器多次选择它们,那么最简单的方法是切换到Resource透视图,在Navigator视图中,找到要包含的所有包的父文件夹,然后将其拖到类图上。这将启动对子包中的类的递归搜索。

请注意,如果您拖入足够多的类(确切的阈值是可配置的),那么它将提供过滤它们 - 例如,您可能希望过滤掉单元测试或生成的类。如果你试图添加非常多的类(同样,它是可配置的,但默认情况下它是200)那么你将被阻止 - 但是单个类图上有200个类的重点是什么,它会只会导致不可读的类图。

答案 1 :(得分:0)

另一个eclipse插件称为“metrics”,您可以在sourceforge上找到它。它可以以文本和图形形式提供有关Java项目的大量信息。