查找eclipse项目中使用的未使用的jar

时间:2008-10-29 22:00:42

标签: java eclipse jar

是否有任何插件/工具可以通过eclipse项目(或工作区)的类路径并突出显示任何未使用的jar?

6 个答案:

答案 0 :(得分:45)

ClassPathHelper是一个好的开始。

它会自动识别孤儿罐等等。

唯一的限制是没有在类中定义的依赖项,例如在依赖注入框架配置文件中。

您还有其他选项/补充,例如:

  • workingfrog "Relief",它依赖于通过检查它们在空间中的形状,大小或相对位置来处理真实对象的能力,它为java包,类型和字段及其关系提供了“物理”视图,使它们成为可能更容易处理。
  • Unnecessary Code Detector:一个eclipse插件工具,用于查找不必要的(死的)公共java代码。

答案 1 :(得分:28)

UCDetector 对此没有帮助:它不适用于JAR。 对于 classpathHelper ,我无法找到一个简单的方法来列出孤儿JAR(BTW,如果有人有这方面的教程,我很感兴趣)。

所以,如果你像我一样使用Maven,我会找到this great Maven plugin,我想和你分享这个解决方案。 只需输入:

mvn dependency:analyze

您将立即获得依赖项中未使用的JAR列表。 非常方便!

答案 2 :(得分:7)

您可以使用以下插件之一: UCDetectorClasspath Helper

答案 3 :(得分:6)

我找到了一个非常快速有趣的工具来存档这个目标:

http://tattletale.jboss.org/

只需解压缩程序并运行:

java -Xmx512m -jar tattletale.jar ~/myjavaproject/mydistribution output

这将产生一个令人印象深刻的报告,其中包含不同的点(来自其网站的文字):

  • 识别JAR文件之间的依赖关系
  • 从类路径中查找缺少的类
  • 发现类/包位于多个JAR文件中
  • 如果相同的JAR文件位于多个位置,则发现
  • 列出每个JAR文件所需的内容并提供
  • 验证类的SerialVersionUID
  • 查找具有不同版本号的类似JAR文件
  • 查找没有版本号
  • 的JAR文件
  • 查找未使用的JAR档案
  • 识别密封/签名的JAR档案
  • 在JAR文件中找到一个类
  • 获取项目的OSGi状态
  • 删除黑名单的API使用
  • 为.WAR和.EAR档案生成相同的报告

答案 4 :(得分:0)

我知道这是一个旧版本,但如果其他人偶然发现这一点,那么Eclipse会自行完成。

导航到项目属性 - > Java代码样式 - >清理 选择Eclipse [Built-in]并执行以下操作:

  • 使用声明类型
  • 更改对静态成员的非静态访问
  • 更改对静态成员的间接访问以直接访问 (通过子类型访问)
  • 删除未使用的导入
  • 添加缺少的'@Override'注释
  • 将缺少的'@Override'注释添加到接口的实现中 方法
  • 添加缺少的'@Deprecated'注释
  • 删除不必要的演员
  • 删除不必要的'$ NON-NLS $'标记

答案 5 :(得分:0)

在 Maven 和 Gradle 项目中,您可以使用这些插件来识别未使用的依赖项。

  • 对于 Maven:link

在 pom.xml 文件插件中使用它。

<build>
<plugins>
    <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.1.2</version>
    </plugin>
</plugins>
</build>

这将作为输出。在这种情况下,我们在 pom.xml 中添加了 commons-collections 依赖项,但不在代码中使用。 enter image description here

  • 对于 Gradle:link

在 build.gradle 文件插件中使用它。

plugins {
  id "ca.cutterslade.analyze" version "1.7.1"
}

使用旧插件应用程序:

enter image description here

这将作为输出。在这种情况下,我们将未使用的依赖项添加到 gradlefile 中,但不在代码中使用。 enter image description here