我使用IntelliJ IDEA开发webservice应用程序,使用Apache CXF,Spring,Hibernate等等。所有这些框架都附带了很多库,但我没有全部使用它们。
目前,我浪费了大量时间来确定我必须将哪些jar文件部署到生产环境中,以确保系统正常运行。
是否有一种简单快捷的方法来确定哪些库,更准确的是我的应用程序加载/需要哪些jar文件。
答案 0 :(得分:1)
尝试Loosejar: http://code.google.com/p/loosejar/
对于demo,我在我的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的摘要(下面的屏幕截图)。结果显示每个罐子中没有使用过的类。未使用的罐子将显示0%利用率
另一种方法是手动完成。在我们的一个项目中,我们手动将罐子添加到项目中,直到解决了所有编译问题。这种方法有一个限制,如果jar指的是另一个jar,那么我们只会在运行时才知道它。
答案 1 :(得分:0)
尝试Dependency Finder它可能能够列出所有库依赖项。
答案 2 :(得分:0)
使用Maven。它是Java世界中最流行的依赖管理工具。