如何在Visual Studio Code现有Java项目中导入JRE System Library
解决方法
- 按
Ctrl+Shift+P调出VS Code命令面板,输入Java: Configure Java Runtime进入运行时配置页面 - 切换到页面的「Project」标签,选中当前导入的目标项目,将项目JDK版本选择为你已安装配置的openjdk-17,保存配置
- 若上述操作后JRE System Library仍未加载,重新调出命令面板输入
Java: Clean Java Language Server Workspace,确认后等待语言服务重启、索引完成即可 - 如果还是存在类库无法解析的问题,可手动在项目根目录创建/修改
.classpath文件,添加如下适配openjdk-17的配置(注意将path属性的src、bin路径替换为你项目实际的源码目录、编译输出目录):
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/> <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> </classpath>
- 额外提示:新版VS Code Java扩展已废弃
java.home配置项,建议删除该配置仅保留java.configuration.runtimes,避免全局配置冲突导致JRE加载失败。
需手动引入JRE System Library的原因
- 只有通过VS Code Java扩展直接新建的非构建工具Java项目,会自动生成
.classpath、.project等IDE专属配置文件,配置中默认包含JRE System Library的引用规则 - 手动导入的未使用Maven/Gradle的现有Java项目,一般不会携带VS Code Java扩展依赖的上述IDE配置文件,扩展无法自动识别项目所需的JDK版本和系统类库引用路径,因此只会展示支持手动添加第三方jar包的
Referenced Libraries区域,不会主动加载JRE系统库 - 若全局
java.configuration.runtimes配置的JDK版本和项目适配的JDK版本不匹配,也会触发JRE系统库加载失败的问题,需要单独为项目指定对应版本的JDK。
内容的提问来源于stack exchange,提问作者Ketho
相关产品推荐
相关产品推荐

