You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code报指定编译器合规版本1.8但使用JRE18警告如何解决

警告原因

提示the compiler compliance specified is 1.8 but a jre 18 is used的核心原因是项目配置的Java编译目标版本是Java 8(1.8),但VS Code的Java插件当前调用的运行/编译环境是JRE 18,版本不匹配会导致两类问题:要么编译阶段拦截你写的JDK 18新语法,要么编译出的字节码版本过高,无法在目标Java 8环境运行。

解决方法

根据项目的实际兼容需求选对应方案即可:

方案1:项目需要用JDK 18特性,将编译合规等级升到18

  • 无构建工具的普通Java项目:
    1. 用快捷键Ctrl+Shift+P(Windows/Linux)/Cmd+Shift+P(Mac)唤起命令面板
    2. 搜索执行Java: Configure Java Runtime打开Java运行时配置页
    3. 切到Project标签,定位到出问题的项目,在Compiler Compliance下拉框选18,等插件自动同步完配置警告就会消失
  • Maven/Gradle托管的项目必须修改构建配置,否则刷新项目后配置会被还原:
    • Maven项目在pom.xml里修改maven-compiler-plugin的版本配置:
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.11.0</version>
          <configuration>
              <source>18</source>
              <target>18</target>
          </configuration>
      </plugin>
      
    • Gradle项目在build.gradle里添加兼容配置:
      sourceCompatibility = '18'
      targetCompatibility = '18'
      
    改完构建文件后,在命令面板执行Java: Reload Projects刷新项目配置生效。

方案2:项目需要兼容Java 8环境,将项目绑定的JDK切到1.8版本

  1. 先确认本地已安装JDK 8,打开Java: Configure Java Runtime的Installed JDKs标签,确认插件能识别到JDK 8的安装路径,没识别到就点Add JDK手动选择JDK 8的安装目录添加
  2. 切到Project标签,找到对应项目,把Project JDK下拉选项切到安装好的JDK 8,同时确认Compiler Compliance保持为1.8
  3. 想让所有新建项目默认用JDK 8的话,打开用户设置settings.json,添加如下配置,替换路径为本地实际安装路径即可:
"java.configuration.runtimes": [
  {
    "name": "JavaSE-1.8",
    "path": "你的本地JDK8安装路径",
    "default": true
  },
  {
    "name": "JavaSE-18",
    "path": "你的本地JDK18安装路径"
  }
]

别直接点警告弹窗的快速修复按钮直接改合规设置,这种临时修改不会写入持久化配置,重启VS Code或者刷新项目后警告会复现,也没法从根本解决版本不匹配的兼容问题。

内容的提问来源于stack exchange,提问作者Juan Modica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:06:33