如何在Windows环境下配置VSCode适配Java 8与Java 11多版本开发
Windows环境Java 8、Java 11与VSCode共存配置方案
一、系统环境变量配置(保持Java 8为全局默认版本)
提前安装好Java 8和Java 11,记录两者的实际安装路径,参考示例:
- Java 8安装路径:
C:\Program Files\Java\jdk1.8.0_xxx - Java 11安装路径:
C:\Program Files\Java\jdk-11.0.xxx
按以下步骤配置环境变量:
- 右键「此电脑」-「属性」-「高级系统设置」-「环境变量」
- 在「系统变量」区域新建两个变量:
- 变量名:
JAVA8_HOME,变量值填Java 8的实际安装路径 - 变量名:
JAVA11_HOME,变量值填Java 11的实际安装路径
- 变量名:
- 找到系统变量中的
JAVA_HOME(无则新建),变量值填%JAVA8_HOME%,保证全局默认使用Java 8 - 检查系统变量中的
Path,仅保留%JAVA_HOME%\bin这一条Java相关的bin路径,删除其他直接写死的Java bin路径,以及Oracle安装包自动添加的javapath类路径 - 所有窗口点击「确定」保存配置,打开新的cmd窗口执行
java -version,确认输出为Java 8版本号即配置成功
注意:安装Java 11时如果勾选了「自动添加到PATH」选项,必须删除安装程序自动添加的Java 11 bin路径,避免全局默认版本被篡改。
二、VSCode Java扩展依赖配置(满足扩展对Java 11的要求)
VSCode的Java扩展底层依赖Java 11及以上版本运行,该配置仅作用于VSCode本身,不影响系统全局Java版本:
- 在VSCode扩展商店安装「Extension Pack for Java」Java扩展包
- 打开VSCode设置页(快捷键
Ctrl+,),搜索java.jdt.ls.java.home - 将该配置项的值设为Java 11的实际安装路径,示例:
C:\\Program Files\\Java\\jdk-11.0.xxx(Windows路径反斜杠需转义为双反斜杠,也可直接用正斜杠) - 重启VSCode,Java扩展即可正常加载,无版本不兼容报错
三、不同项目绑定专属JDK配置
先在VSCode中注册可用的JDK版本,后续可直接给不同项目快速切换:
- 打开VSCode的JSON设置页(点击设置页右上角的「打开设置(JSON)」图标进入)
- 新增以下配置,将两个JDK都加入运行时列表:
"java.configuration.runtimes": [ { "name": "JavaSE-1.8", "path": "C:\\Program Files\\Java\\jdk1.8.0_xxx", "default": true }, { "name": "JavaSE-11", "path": "C:\\Program Files\\Java\\jdk-11.0.xxx" } ]
- 保存后,所有Java项目默认使用Java 8,匹配公司项目需求
- Java 11个人项目的版本切换有两种可选方式:
- 方式一:打开对应项目后,点击VSCode右下角状态栏显示的JDK版本号,在弹出的列表中选择
JavaSE-11即可 - 方式二:在项目根目录的
.vscode/settings.json文件中新增配置:"java.project.jdk.path": "C:\\Program Files\\Java\\jdk-11.0.xxx",该配置仅作用于当前项目
- 方式一:打开对应项目后,点击VSCode右下角状态栏显示的JDK版本号,在弹出的列表中选择
四、配置有效性验证
- 系统全局验证:打开任意新cmd窗口执行
java -version,输出为Java 8版本 - VSCode扩展验证:打开任意Java项目,扩展无版本报错,代码补全、运行调试功能正常
- 项目版本验证:分别打开公司Java 8项目和个人Java 11项目,执行
System.out.println(System.getProperty("java.version"));,输出和项目绑定的版本号即配置成功
内容的提问来源于stack exchange,提问作者bibu3344
相关产品推荐
相关产品推荐

