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