【问题标题】:Visual Studio Code retrive UnsupportedClassVersions when run运行时 Visual Studio Code 检索 UnsupportedClassVersionerror
【发布时间】:2020-08-23 22:13:25
【问题描述】:
在 Visual Studio 代码中:
我已正确配置 OpenJDK 14。当我尝试运行我的项目时,我收到以下错误:
java.lang.UnsupportedClassVersionError:(类文件版本 56.65535)编译时使用不受支持的预览功能。此版本的 Java 运行时仅识别类文件版本 58.65535 的预览功能
这个类是一个依赖项,它存储在 Nexus Repository 中,所有这个项目都是用 JDK 12 编译的。所以我尝试卸载 OpenJDK 14 以安装 OpenJDK 12,但如果我这样做,项目无法构建,因为'在无效的源版本级别 12 启用预览功能,预览只能在源级别 14 启用。
但同样的项目是在 Eclipse 中正确构建的。
【问题讨论】:
标签:
java
spring-boot
maven
visual-studio-code
【解决方案1】:
您可以尝试运行“Java:清理 Java 语言服务器工作区”命令吗?
或者
将 java 扩展更新到最新版本。
正如您所描述的,您第一次尝试使用 JRE 14 运行已编译的文件
使用 javac 12,然后您降级到 JDK 12 并希望使用 JRE 12 来运行该文件。但是您会收到“在无效来源启用预览功能...”的错误。似乎缓存导致了这种情况。还是您在项目中使用了 JDK 14 的一些预览功能?
【解决方案2】:
我已经通过以下步骤解决了这个问题:
1 - 安装 JDK 12 并进行配置。
2 - 该项目是从 Eclipse 导入的,因此设置中有所有相关文件。其中之一是“org.eclipse.jdt.core.prefs”进入其中并将“org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures”的值修改为禁用。
似乎 VSCode 会读取所有设置并复制
Eclipse IDE 的行为。