Java 基于单个Main方法删除所有未使用的代码

Java 基于单个Main方法删除所有未使用的代码,java,intellij-idea,refactoring,dead-code,Java,Intellij Idea,Refactoring,Dead Code,您知道从特定的主方法(或IntelliJ所称的入口点)的角度查找(未使用)代码的方法吗 背景是我们有一个大型java项目,其中我们有几个客户机的自定义代码。有时,我们以源代码的形式向客户提供项目的当前状态,但显然希望删除只与其他客户相关的部分。我们为每个客户机都有一个主文件,因此应该可以跟踪从那里导入的内容,以准确地找到与每个客户机相关的文件 我希望能够在单个入口点上运行intellij的代码检查,但找不到任何东西。不过,我对任何解决方案都持开放态度。您可以删除所有其他入口点,然后再次运行int

您知道从特定的主方法(或IntelliJ所称的入口点)的角度查找(未使用)代码的方法吗

背景是我们有一个大型java项目,其中我们有几个客户机的自定义代码。有时,我们以源代码的形式向客户提供项目的当前状态,但显然希望删除只与其他客户相关的部分。我们为每个客户机都有一个主文件,因此应该可以跟踪从那里导入的内容,以准确地找到与每个客户机相关的文件


我希望能够在单个入口点上运行intellij的代码检查,但找不到任何东西。不过,我对任何解决方案都持开放态度。

您可以删除所有其他入口点,然后再次运行intellij的代码检查以检测未使用的代码。现在您只有一个入口点,它应该能够告诉您哪些代码未使用。有了这些知识,您可以恢复更改并删除此代码


希望对您有所帮助。

您也可以使用Sonarint插件获取更多与代码相关的信息。运行覆盖率工具,找到任何0%的块,删除它们。静态分析不足以确定死代码,因为理论上任何东西都可以通过反射调用。是的!这正是我想做的。你有什么提示告诉我怎么做吗?我不知道入口点管理是如何工作的,也不知道在哪里可以找到它…只是手动删除您的入口点?在本地删除这些类并执行代码检查。代码检查后,重新添加已删除的类(还原)。也许有人知道一种自动化的方法。当然,就这么简单,谢谢!