67

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

4

6 回答 6

46

ClassPathHelper是一个好的开始。

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

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

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

  • workingfrog "Relief",它依赖于通过检查它们的形状、大小或空间中的相对位置来处理真实对象的能力,它提供了关于 java 包、类型和字段及其关系的“物理”视图,使它们更容易处理。
  • 不必要的代码检测器:一个 Eclipse 插件工具,用于查找不必要的(死)公共 java 代码。
于 2008-10-29T22:11:02.337 回答
32

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

所以,如果你也像我一样使用 Maven,我发现了这个很棒的 Maven 插件,我想和你分享这个解决方案。只需输入:

mvn dependency:analyze

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

于 2011-03-16T09:47:37.503 回答
9

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

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 档案生成相同的报告
于 2015-07-23T09:13:48.673 回答
7

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

于 2008-10-29T22:22:39.850 回答
0

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

导航到 Project properties->Java Code Style->Clean Up 选择 Eclipse [Built-in],它会执行以下操作:

  • 使用声明类型更改对静态成员的非静态访问
  • 将对静态成员的间接访问更改为直接访问(通过子类型访问)
  • 删除未使用的导入
  • 添加缺少的“@Override”注释
  • 向接口方法的实现添加缺少的“@Override”注释
  • 添加缺少的“@Deprecated”注释
  • 删除不必要的演员表
  • 删除不必要的“$NON-NLS$”标签
于 2013-02-11T13:12:48.540 回答
0

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

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

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

这将作为输出。在这种情况下,我们将 commons-collections 依赖添加到 pom.xml,但不要在代码中使用。 在此处输入图像描述

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

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

使用旧版插件应用程序:

在此处输入图像描述

这将作为输出。在这种情况下,我们将依赖项未使用DeclaredArtifacts 添加到 gradlefile,但不要在代码中使用。 在此处输入图像描述

于 2021-07-22T06:47:47.107 回答