Eclipse 2022-12版本jdk.*包自动补全功能失效求助
检查JDK系统库配置
右键项目打开Properties,进入Java Build Path->Libraries,确认JDK系统库是否包含jdk.jshell模块。若缺失,点击Add Library->JRE System Library,选择对应JDK版本完成添加。注意要确保JDK配置在Modulepath而非Classpath中——jdk.*下多数类属于模块化内容,需通过Modulepath加载才能被Eclipse正确识别。调整内容辅助设置
打开Eclipse偏好设置(Window->Preferences),进入Java->Editor->Content Assist->Advanced,勾选Java Proposals下的所有选项(重点确认Java Proposals (Default)和Module Proposals)。也可点击Restore Defaults恢复默认设置后重启Eclipse。处理项目模块声明
如果是模块化项目(存在module-info.java),需在文件中添加对jdk.jshell的依赖:module your.module.name { requires jdk.jshell; }非模块化项目则进入
Project Settings->Java Compiler,将Module system设置为None,避免模块化机制干扰类的识别。清理重建项目
执行Project->Clean选择当前项目清理,右键项目点击Refresh,再通过Project->Build Project重新编译。编译缓存异常可能导致类信息识别错误,清理后可解决这类问题。确认JDK版本兼容性
Eclipse 2022-12推荐使用JDK 11及以上版本,过低版本可能无法正确识别jdk.*下的模块化类。可在Window->Preferences->Java->Installed JREs中检查并切换到兼容的JDK版本。
内容的提问来源于stack exchange,提问作者Niccolò Cavallini

