打开VSCode突然弹出Java 11 or more recent is required to run.
提示,让我下载JDK11,但是我们项目用的是jdk1.8,网上查了很久,无解,无奈之下下载了jdk11,但是项目中用的API再升级到jdk11之后无法使用了,又降级回jdk1.8。
根据排除法,我尝试着卸载 Language Support for Java(TM) by Red Hatredhat.javaPreview
这个插件,就是这个插件报错,但是因为我们开发的java程序使用springboot框架,而 Spring Boot Extension Pack
必须依赖这个插件,继续解决问题..
只能求助外面的大神了,偏偏这个时候梯子出现问题,没办法gogo了…
无奈之下点开vscode中插件的主页 https://marketplace.visualstudio.com/items?itemName=redhat.java&ssr=false#review-details
查看这个插件的相关信息,你还别说,真的有人问
根据作者的回复:
You can still compile your projects with Java 1.8, if you configure the java.configuration.runtimes setting. See https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements#setting-the-jdk
点开这个连接看看,说的是需要配置java.configuration.runtimes
这个参数,我尝试着在User中的setting.json文件中配置了一下:
"java.configuration.runtimes": [
{
"name": "JavaSE-11",
"path": "C:\\Program Files\\Java\\jdk-11.0.8",
},
{
"name": "JavaSE-1.8",
"path": "C:\\Program Files\\Java\\jdk1.8.0_181",
"default": true
},
]
关闭VSCode,再打开,OK了没有报错,spring项目成功识别到。
下面贴出我的关键配置,User的setting.json
{
"java.home": "C:\\Program Files\\Java\\jdk-11.0.8",
...
"java.configuration.runtimes": [
{
"name": "JavaSE-11",
"path": "C:\\Program Files\\Java\\jdk-11.0.8",
},
{
"name": "JavaSE-1.8",
"path": "C:\\Program Files\\Java\\jdk1.8.0_181",
"default": true
},
]
}
Workspace的setting.json
{
...
"java.home": "C:\\Program Files\\Java\\jdk-11.0.8",
"spring-boot.ls.java.home": "C:\\Program Files\\Java\\jdk-11.0.8",
}