我开发了一个包含很多库的Web应用程序,如Spring,Apache CXF,Hibernate,Apache Axis,Apache Common等等。这些框架中的每一个都带有许多* .jar库。
对于开发,我简单地将所有提供的库添加到我的类路径中。
对于部署而言,并非所有这些库都是必需的,所以有一种快速方法可以检查我的源代码使用的所有必需库(* .jar)吗?
答案 0 :(得分:3)
如果您将项目移动到使用Maven,这样的事情会变得更容易:
mvn dependency:analyze
mvn dependency:tree
答案 1 :(得分:1)
对于您的示例,Maven + IDE +漂亮的依赖关系图可以帮助分配。
See an example of this:通过这种方式弄清楚项目中发生的事情要容易得多,这样你就不需要在项目中添加“所有交付的库” - 只需要它。
答案 2 :(得分:0)
JDepend遍历Java类文件 目录并生成设计 每个Java包的质量指标。 JDepend允许您自动进行 衡量设计的质量 其可扩展性条款, 可重用性和可维护性 管理包依赖项 有效强>
答案 3 :(得分:0)
因此,作为一种快速,肮脏且可能效率低下的方法,您可以在Eclipse中尝试:
不幸的是你还没有完成,因为jar文件本身也可能有依赖关系。有两种方法可以解决这个问题:
请阅读您正在使用的所有第三方软件包的文档。每个包都应该告诉你它的依赖性。
运行您的应用程序,看看是否有任何ClassNotFoundExceptions。如果这样做,那么使用Control-Shift-T来确定该类来自哪个jar并将其添加到类路径中。重复直到您的项目运行而不抛出任何ClassNotFoundExceptions。
#2的问题在于你并没有真正知道你已经解决了所有的依赖关系,因为你无法模拟项目可能采用的每个可能的执行路径。