寻找在日食项目中使用的未使用的jar子

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

ClassPathHelper是一个好的开始。

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

唯一的限制是没有在类中定义的依赖关系,例如在dependency injection框架configuration文件中。

您还有其他的select/补充,例如:

  • workingfrog“Relief”依赖于通过检查它们的形状,大小或空间相对位置来处理真实对象的能力,从而为java包,types和字段以及它们之间的关系提供了一个“物理”视图,使它们更容易处理。
  • 不必要的代码检测器 :一个eclipse PlugIn工具来查找不必要的(死的)公共java代码。

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

所以,如果您也像我一样使用Maven,我会发现这个伟大的Maven插件 ,我想与您分享这个解决scheme。 只需input:

mvn dependency:analyze 

你会立即得到你的依赖关系中未使用的JAR列表。 很方便!

您可以使用以下插件之一: UCDetector或Classpath Helper

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

http://tattletale.jboss.org/

只要解压缩程序并运行:

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

这将产生一个非常令人印象深刻的报告与不同点(从他们的网站的文本):

  • 确定JAR文件之间的依赖关系
  • 从类path中find丢失的类
  • 如果类/包位于多个JAR文件中,则为Spot
  • 如果同一个JAR文件位于多个位置,则为Spot
  • 列出每个JAR文件需要和提供的内容
  • validation类的SerialVersionUID
  • 查找具有不同版本号的相似JAR文件
  • 查找没有版本号的JAR文件
  • find未使用的JAR档案
  • 识别密封/签名的JAR档案
  • 在JAR文件中find一个类
  • 获取项目的OSGi状态
  • 删除黑名单的API使用情况
  • 并为您的.WAR和.EAR档案生成相同的报告

我知道这是一个古老的,但如果有人绊倒在这,Eclipse本身就是这样做的。

导航到项目属性 – > Java代码样式 – >清理selectEclipse [内置],它执行以下操作:

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