Java 如何在项目中找到不必要的jar

Java 如何在项目中找到不必要的jar,java,maven,jar,Java,Maven,Jar,我的项目中有一些罐子。我想知道这些罐子是如何使用的,或者如果我把它们取下来会有什么效果?你可以用它来实现 它是一个简单的Java代理,可用于发现不必要的 JAR位于应用程序类路径上。它按类装入器JVM执行 堆分析并显示其结果。loosejar可以安全使用 在开发过程中,QA、UAT甚至在生产过程中,因为它不会修改 JVM的状态,不会增加任何开销 如何使用: 使用启动应用程序或应用程序服务器 -javaagent:loosejar.jar标志(loosejar.jar显然应该指向实际jar的正确路

我的项目中有一些罐子。我想知道这些罐子是如何使用的,或者如果我把它们取下来会有什么效果?

你可以用它来实现

它是一个简单的Java代理,可用于发现不必要的 JAR位于应用程序类路径上。它按类装入器JVM执行 堆分析并显示其结果。loosejar可以安全使用 在开发过程中,QA、UAT甚至在生产过程中,因为它不会修改 JVM的状态,不会增加任何开销

如何使用:

  • 使用启动应用程序或应用程序服务器 -javaagent:loosejar.jar标志(loosejar.jar显然应该指向实际jar的正确路径)

  • 练习应用程序以确保类已加载 进入JVM

  • 通过JMX控制台获取loosejar分析结果(打开jconsole并运行 com.googlecode.loosejar.LooseJarMBean#MBeans文件夹中的summary()或 应用程序关闭时(通过常规控制台日志)


  • 您使用的是Maven,因此可以使用Maven的特性来查看您需要什么JAR。在项目的根目录中运行以下操作:

    mvn dependency:analyze
    

    您将看到行
    [警告]未使用的已声明依赖项已找到:
    包含您实际上不需要的依赖项列表。

    尝试使用UCDetector。请参见此处

    这将有所帮助。如果您删除了所需的jar,您只会破坏应用程序。如何构建您的项目?专家蚂蚁?只是Eclipse/IDE?我需要脱机运行我的项目,并使用命令mvn-o dependency:analyze给出构建错误。如果您以前能够构建它,这应该不会有任何区别。错误是什么?[INFO]生成POM时出错(可能不是此项目的POM)。项目ID:org.apache.maven.plugins:maven依赖插件原因:POM'org.apache.maven.plugins:maven依赖插件'未在存储库中找到:系统处于脱机状态。plugins:maven dependency plugin:pom:2.0 for project org.apache.maven.plugins:maven dependency pluginAha,似乎您需要联机让maven下载maven依赖插件。