我使用 Apache CXF、Spring、Hibernate 等使用 IntelliJ IDEA 开发 Web 服务应用程序。所有这些框架都附带了很多库,但我没有使用所有这些库。
目前,我浪费了大量时间来确定必须将哪些 jar 文件部署到生产环境中以确保系统正常工作。
是否有一种简单快捷的方法来确定我的应用程序加载/需要哪些库,更精确地加载/需要哪些 jar 文件。
尝试 Loosejar:http ://code.google.com/p/loosejar/
对于演示,我在我的 Eclipse 工作室中针对一个小型应用程序运行了 Loosejar 代理。该应用程序使用 4 个 jar(jsoup-1.6.1.jar、httpclient-4.2.3.jar、httpcore-4.2.2.jar、commons-logging-1.1.1.jar)。我在构建路径中添加了一个未使用的 jar 文件——“soap-2.3.1.jar”并启动了应用程序。然后打开 jconsole 并查看 LooseJarMBean 的摘要(下面的屏幕截图)。结果显示了每个 jar 中使用的类的数量。未使用的 jar 将以 0% 的利用率显示
另一种方法是手动完成。在我们的一个项目中,我们手动将 jars 添加到项目中,直到所有编译问题都得到解决。这种方法有一个限制,如果一个 jar 引用另一个 jar,那么我们只能在运行时了解它。
尝试依赖查找器,它可能能够列出您所有的库依赖项。
使用Maven。它是 Java 世界中最流行的依赖管理工具。