如何删除java项目中未使用的类?

如何删除java项目中未使用的类?,java,class,dependencies,Java,Class,Dependencies,我有一个大项目,我的经理专门为我从项目中删除未使用的类 我发现了一个很好的工具,它给了我一个项目中没有使用的类的列表 阿帕奇哈马能做到吗??或者建议使用任何其他工具您可以尝试 一个eclipse插件,它可能会帮助您。此外,如果这些类是通过反射使用的,那么就会出现一些问题 另见: UCDetector发现的问题只是建议。在更改代码之前,您应该真正了解自己在做什么!如果UCDetector告诉您,没有引用,您的代码仍可能被以下人员使用: Reflection Frameworks like Spr

我有一个大项目,我的经理专门为我从项目中删除未使用的类

我发现了一个很好的工具,它给了我一个项目中没有使用的类的列表

阿帕奇哈马能做到吗??或者建议使用任何其他工具

您可以尝试

一个eclipse插件,它可能会帮助您。此外,如果这些类是通过反射使用的,那么就会出现一些问题

另见:

UCDetector发现的问题只是建议。在更改代码之前,您应该真正了解自己在做什么!如果UCDetector告诉您,没有引用,您的代码仍可能被以下人员使用:

Reflection
Frameworks like Spring, Hibernate or Eclipse which declare dependencies in property files, xml files (extension-points) ...
Third party code, which is using your API
Jars in your workspace
To be continued...
更改可见性可能会导致继承、反射、实例化等问题


在工作区中对要更改的代码段进行全文搜索是个好主意。

IntelliJ idea有一个优秀的静态功能,包括死代码检测。对于一组有限的语言和框架,它也可以免费提供。

如果你不掌握应用程序使用的所有框架和技术,这是一项非常困难的任务。许多类可能会显示为未使用,只是因为它们在某些配置文件中被引用、实例化并通过反射使用。另一方面,您可以拥有一组相互引用的类,但这些类从未在应用程序中使用过。在此之前,您最好有一套覆盖整个应用程序的自动化集成测试。