如何检查Jar文件之间的依赖关系?

2022-09-01 13:18:54

我最近接受了用JSF编写的Web系统的支持和编程。代码有点凌乱和冗余,是的,没有文档存在。

该系统有40多个jar库,由于旧版本和测试,其中大多数都是冗余的。要删除一个jar,我必须检查它是否未在代码中导入,因此我在代码中搜索jar导入路径(我正在使用IntelliJ IDE),确保它未被使用,然后将其删除。

但是,在编译代码后,在测试期间发生了许多运行时错误。我发现我删除了一些被其他现有罐子使用的罐子。

问题是,在删除jar之前,我如何确保它没有被另一个jar / java类使用?

尽管 jar 具有已编译的类,但已编译的类确实具有所需库的导入路径。但是我无法使用IntelliJ搜索它们(不会在jars文件中搜索)。

我现在做的唯一方法是每次删除jar时测试系统,看看我是否可以崩溃它!由于要测试的功能数量巨大,这完全不是一个简单的方法。

我希望有一个工具,我可以在其中提交许多java文件/jar,并显示它们之间的依赖关系。


答案 1

我知道JBoss项目中有一个名为JBoss TattleTale的工具,可能值得一看:

http://www.jboss.org/tattletale


答案 2

JDepend将为您分析任意数量的JAR,类文件等的依赖关系。将它报告的包与这些 JAR 相关联应该是一个微不足道的额外步骤。


推荐