我想生成一个Java类依赖项列表,类似于Ant的depend任务,没有上述页面底部列出的限制。
是否有适合Java的源代码依赖性分析器?我已经尝试过写自己的,但是解析引用非常复杂。
UPDATE :我想在我的开源项目中重用该算法。请提供与开源兼容的库。
答案 0 :(得分:0)
我找到的最好的工具之一是Jar Analyzer。
从主页
JarAnalyzer是jar文件的依赖项管理实用程序。它的 主要目的是遍历一个目录,解析每个目录 该目录中的jar文件,并标识之间的依赖关系 jar文件。输出是一个表示的XML文件 jar文件之间的PhysicalDependencies。
答案 1 :(得分:0)
我们的DMS Software Reengineering Toolkit及其Java Front End可以通过源代码解析和命名解析Java到1.6。 (它解析1.7,但没有命名解决一些非常黑暗的角落,很快就会实现)。如果允许,它将使用类文件。这提供了完整的AST和符号表。 DMS机器将允许您访问/检查AST和符号表。
从符号表数据和感兴趣的特定文件列表中,您只能使用源代码计算依赖关系。
是的,编写名称解析器很复杂。我们的团队已经投入了一年多的时间,还有更多的事情要做。