Visual Studio Code 显示“需要 Java 11 或更高版本才能运行。请下载并安装最近的JDK”

2022-08-31 14:09:34

今天,Visual Studio Code开始向我展示一个弹出窗口:”

需要 Java 11 或更高版本才能运行。请下载并安装最新的 JDK。

我需要使用JDK 8(在Apache Beam上工作,这是最后一个支持的版本)。我一直在努力解决这个问题,在出现之前没有遇到任何问题。

我已经通读了这篇文章,并实现了那里提到的要点。

这是我在Visual Studio Code上的工作区设置(我已经仔细检查了路径)

{
    "java.configuration.updateBuildConfiguration": "disabled",
    "java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home",
    "java.configuration.runtimes": [
        {
          "name": "JavaSE-1.8",
          "path": "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home",
          "default": true
        },
        {
          "name": "JavaSE-11",
          "path": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home",
        }
      ]
}

其他有用信息:

➜ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

➜ which java
/usr/bin/java

这从今天开始发生,尽管我已经在Visual Studio Code上成功运行JDK 8一段时间了。我不记得更新了Visual Studio Code,所以我不确定为什么现在显示它,因为显然弹出窗口已经显示自四月中旬以来(在vscode-java Gitter频道上询问)。


答案 1

更改自

"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"

"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"

并按原样保留其余设置。


答案 2

对于未来的读者。如果您使用的是扩展“弹簧启动工具”,则可能会收到与此类似的错误。我把我的JAVA_HOME设置为java 8,但需要java 11才能使用Spring Boot Tools Language Server。似乎Spring Boot Tools使用您的JAVA_HOME环境变量或PATH环境变量Spring Project Issue中的任何一个。要覆盖JAVA_HOME变量,您需要修改设置。spring-boot.ls.java.home

  1. 打开 Visual Studio Code
  2. CRTL + ,以打开设置
  3. 搜索spring-boot.ls.java.home
  4. 选择“在设置中编辑.json”
  5. 您的 Java 11 安装→"spring-boot.ls.java.home": "C:\\Program Files\\Java\\jdk-11.0.10"
  6. 保存并重新启动 VS 代码

先决条件:安装 Java 11


推荐