mca*_*ado 53 java visual-studio-code
今天,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",
}
]
}
Run Code Online (Sandbox Code Playgroud)
其他有用的信息:
? echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
和
? which java
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)
尽管我已经在 Visual Studio Code 上成功运行 JDK 8 一段时间了,但今天开始发生这种情况。我不记得更新 Visual Studio Code,所以我不确定为什么现在显示它,因为显然弹出窗口自 4 月中旬以来一直显示(在vscode-java Gitter 频道上询问)。
小智 46
更改自
"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
到
"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"
并保持其余设置不变。
que*_*o42 16
一种解决方法是将扩展“Language Support for Java(TM) by Red Hat”从最新版本 0.65.0 降级。回到
vscode-java 版本 0.64.1。
(除非您对 JDK 版本有限制,否则不建议这样做,这是可能的,请参阅底部的备注。如果可以,请改用该线程的已接受答案。)。
需要从Java 11 或更新版本中获取才能运行。请下载并安装最新的 JDK”#1543,这是如何安装较早的扩展版本(感谢发布此内容的 GitHub 用户):
请注意:
这应该只与那些不能安装 JDK 11 或更高版本的人相关:
Java Development Kit链接的顶部?跳转到https://adoptopenjdk.net/)如果您没有重要限制,则不应这样做。最合理的限制是你使用 Windows 32 位,这应该只与那些有旧上网本的人有关。
通常情况下:升级,然后您仍然可以通过根据JDK 要求更改设置来返回使用较旧的 Java 版本:
我是否需要将我的项目迁移到 Java 11?
“不,你没有!好吧,你应该,因为我们不是在这里判断。从 Java 1.5 到 14,仍然可以编译/运行 Java 应用程序,只要在用户的 settings.json。”
--> 这意味着您可以升级扩展,至少安装 Java 11 (JDK 11),并使用您选择的 Java 运行时 <= 您安装的 Java 版本。
请参阅“运行 Java 11 或更高版本。请下载并安装最新的 JDK”#1543 中有关 Windows 64 位的详细说明。
小智 8
对于未来的读者。如果您使用扩展名“Spring Boot Tools”,您可能会遇到与此类似的错误。我将 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设置。
CRTL + , 打开设置spring-boot.ls.java.home"spring-boot.ls.java.home": "C:\\Program Files\\Java\\jdk-11.0.10"先决条件:安装 Java 11
在 Windows 中,
C:\Program Files\Java你会看到这样的东西如您所见,我们在C:/Program Files/Java/jdk-11.0.8.
javahomeC://Program Files//Java//jdk-11.0.8到 java.home 并保存文件。你应该有这样的东西{
"java.home": "C://Program Files//Java//jdk-11.0.8"
}
Run Code Online (Sandbox Code Playgroud)
安全警告!您是否允许此工作区设置 java.home 变量?java.home: C://Program Files//Java//jdk-11.0.8
单击允许,您就可以开始了。
注意:如果您遇到此错误并且依赖于 Java 8,fbricon 会提到,
你仍然可以用 Java 8 编译你的项目。JDK11 只需要运行 vscode-java。
小智 5
关于 Java 11 要求:
Eclipse 平台已决定将 Java 11 作为其 2020 年 9 月版本的最低要求。请参阅升级用于在Eclipse SDK目标环境九月的Eclipse版本...。
因为vscode-java依赖于 Eclipse JDT.LS 服务器,所以对vscode-java 的要求相同。但是时间线更加激进:事实上,vscode-java通常使用依赖于前沿 JDT 特性的 JDT.LS 构建,因此有效地发布了 Eclipse Platform/JDT 的预发布版本。自 2020 年 7 月 22 日起,现在需要 Java 11 才能运行vscode-java。
这是来自? https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements#java.configuration.runtimes