我更改了我的一个 java 类的名称,现在在 eclipse 中清理和重建后,我得到了一个 classNotFoundException。我认为这是微不足道的,我已经忘记了曾经已知的解决方案!有任何想法吗?
编辑:我最终做了最慢的解决方案,只是创建一个新项目并将所有代码放入其中......
我更改了我的一个 java 类的名称,现在在 eclipse 中清理和重建后,我得到了一个 classNotFoundException。我认为这是微不足道的,我已经忘记了曾经已知的解决方案!有任何想法吗?
编辑:我最终做了最慢的解决方案,只是创建一个新项目并将所有代码放入其中......
你使用了eclipse的重构吗?或者你还需要去组织一些文件的导入吗?
根据 OP 反馈进行编辑:
Eclipse 经常在后台为 Java 开发人员做很多事情。其中包括对另一个类文件中的类引用的导入。如果您重命名了一个类(并且它是为其命名文件的顶级类),编译器将首先抱怨这一点。假设您同时重命名了类和文件,现在任何其他引用先前类名的 Java 文件都将不再编译。为了让事情再次正常工作,您需要检查并修复任何文件中的导入声明和代码引用,这些文件表明它不能编译。Eclipse 也恰好使用增量编译以及维护正在开发的项目的内存模型。在验证实际上没有错误后,如果使用 clean 实用程序不起作用,请尝试关闭 eclipse,手动删除bin目录的内容,然后重启eclipse。这应该会导致它执行项目的完整构建。
将来,要完全避免这个问题,请务必始终使用 eclipse 中内置的重构实用程序。重构就像选择文件、类、方法或变量名称并按 alt+shift+r 并填写新的所需名称一样简单。重构的优点是它会自动为开发人员追踪所有代码引用(即可以访问的)。
下次使用重构。现在,尝试删除已经构建的类并重新编译。
如果有人和我有类似的错误并且在清理项目后没有运气,它在特定的 xml 文件中有重命名的旧类 bean(如 webapp/WEB-INF/spring/grape-servelet.xml 在我的情况下),你应该手动将其更改为新的类名,然后它将解决问题。