Eclipse保存Java文件后频繁出现ClassNotFoundException问题求助
针对你遇到的保存Java文件后出现java.lang.ClassNotFoundException,必须执行Project -> Clean才能恢复的问题,结合你的情况(共用工作区偏好、多版本Eclipse都出现),可以尝试以下几个解决步骤:
禁用增量构建,强制全量构建
打开Window > Preferences > Java > Compiler > Building,找到「Incremental build」相关选项,将其改为「Full build」。或者在Window > Preferences > General > Workspace中,暂时关闭「Build automatically」,改为手动触发构建(快捷键Ctrl+B),观察问题是否消失。如果手动构建正常,说明增量构建的逻辑在你的偏好配置下存在异常。重置工作区构建相关偏好
由于问题出在共用的偏好设置,你可以:- 打开
Window > Preferences > General > Preferences,点击「Export」保存当前偏好文件备份; - 点击「Restore Defaults」恢复构建相关的默认设置;
- 重新导入非构建类的偏好配置(比如代码格式化、快捷键等),避免再次引入问题配置。
也可以直接新建一个干净的工作区,不导入旧偏好,测试问题是否重现,确认是旧偏好导致的后,再逐步迁移必要的配置项。
- 打开
清理Eclipse的JDT缓存
关闭Eclipse,找到工作区目录下的.metadata/.plugins/org.eclipse.jdt.core文件夹,删除其中的所有内容(注意备份),然后重启Eclipse。这个目录存储了Java编译的缓存文件,损坏的缓存可能导致类路径识别异常。检查项目构建路径配置
右键项目选择Properties > Java Build Path:- 在「Libraries」标签下,确认Mockito等依赖库的路径正确,且没有出现红色警告;
- 在「Order and Export」标签下,确保依赖库被勾选,且顺序排在项目编译输出之前;
- 尝试勾选「Use default output folder」,避免自定义输出文件夹带来的增量构建冲突。
排查第三方插件干扰
用安全模式启动Eclipse(在Windows命令行中运行eclipse.exe -clean -safe),如果问题消失,说明是第三方插件导致的。可以依次禁用最近安装的插件,找到具体的干扰插件后更新或卸载它。
内容的提问来源于stack exchange,提问作者flixe

