【发布时间】:2014-01-19 16:36:24
【问题描述】:
我的项目中有一些罐子。我想知道这些罐子是如何使用的,或者如果我移除它们会有什么影响?
【问题讨论】:
-
这将有助于java.dzone.com/articles/remove-unnecessary-jars。如果您删除所需的 jar,您只会炸毁应用程序。
-
你如何构建你的项目?马文?蚂蚁?只是 Eclipse/IDE?
我的项目中有一些罐子。我想知道这些罐子是如何使用的,或者如果我移除它们会有什么影响?
【问题讨论】:
您可以使用loosejar 来实现它。
它是一个简单的 Java 代理,可用于发现不必要的 jars 位于应用程序类路径上。 它按类加载器 JVM 执行 堆分析并显示其结果。可以安全使用loosejar 在开发、QA、UAT 甚至生产过程中,因为它不会修改 JVM 的状态,并且不会增加任何开销。
使用方法:
启动您的应用程序或应用程序服务器 -javaagent:loosejar.jar 标志(loosejar.jar 显然应该指向实际 jar 的正确路径)
运行您的应用程序以确保加载类 进入JVM。
通过JMX控制台获取loosejar分析结果(打开jconsole运行 com.googlecode.loosejar.LooseJarMBean#summary() 在 MBeans 文件夹中)或 在应用程序关闭时(通过常规控制台日志)。
【讨论】:
您正在使用 Maven,因此您可以使用 Maven 的功能来查看您需要哪些 jar。在项目的根目录中运行以下命令:
mvn dependency:analyze
您会看到 [WARNING] Unused declared dependencies found: 行,其中包含您实际上不需要的依赖项列表。
【讨论】:
尝试使用 UCDetector。看这里UCDetector
【讨论】: