记一次Java项目jdk版本错误
现象
在VSCode创建项目并导入.java
文件后,报语句支持的最低版本为JDK1.8,但是在配置文件中指定的java.home
为jdk1.8.0121
,在pom.xml指定maven的jdk的版本号之后仍旧无法解决问题,也尝试在.\.settings\org.eclipse.jdt.core.prefs
文件中将指定的1.7更改为1.8,仍旧没有解决问题。
解决方案
在全局搜索1.7之后突然发现在.\.classpath
文件下有如下语句:
1 | <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"> |
将该语句尾部的JavaSE-1.7
修改为JavaSE1.8
后成功解决问题。
猜想
解决方案中所展示的语句是检测语句合法性的jdk的规则版本。
证实猜想
经过查阅后发现,.classpath
文件本是Eclipse
这个IDE特有的一个文件,用来指定配置和指定整个项目工程的环境,其中,猜想中提到的语句是指定了一个外部的插件,作用是在编译代码之前检测代码的合法性,而在VSCode中,Java代码的插件也是采用了这种机制,所以需要在.classpath
中指定检测代码合法性的jdk的版本。