如何在Intellij中运行Java 11代码并解决java.lang.UnsupportedClassVersionError

时间:2019-06-20 09:13:24

标签: java intellij-idea unsupported-class-version

这是我的this问题的继续,我能够启动我的intellij,但仍然无法在intellij中运行代码,

下面是我正在做的步骤。

  1. 更改了项目级别设置以使用JDK 11。
  2. 使用IntelliJ中的运行配置来运行代码。

然后,出现以下错误:

  

java.lang.UnsupportedClassVersionError:co / SuspendableRunnable具有   由Java Runtime的更新版本编译(类文件   版本54.0),此版本的Java运行时仅识别类   文件版本最高为52.0

我不想从命令行运行代码,因为默认情况下,我的JDK设置为使用8,而我不想将其更改为11,因为我的大部分项目都使用8,因此我可以设置JDK 11时使用命令运行它,但是它很麻烦,我会失去IntelliJ的出色功能。

1 个答案:

答案 0 :(得分:2)

问题出在项目SDK版本上,让我们先了解该错误的含义

错误消息给您一些提示,该类是由Java Runtime的较新版本(类文件版本54.0)编译的,此版本的Java Runtime仅可识别52.0以下的类文件版本。

您可以检查其他JDK how to check the jdk version used to compile a .class file的Java类版本 如您所见,Java 10使用的主要版本为55,这是引发该错误的类的版本,并且您还确认这是不支持JDK 8的第三方类,并且Jar不支持包含源代码,因此不会再次编译。 现在,您只需将IntelliJ中的语言级别设置为11,这意味着编辑器中的代码帮助JDK应该具有的语言功能,请在这里What is Project Language level in IntelliJ IDEA?

中了解更多信息。

但是您没有将项目SDK更改为11,它仍在使用JDK 8,因此运行时无法识别Java 10中引入的类版本以及ERROR消息中提到的类版本 此版本的Java运行时只能识别52.0以下的类文件版本。

将项目SDK更改为SDK 11,然后再次尝试运行代码,您不会再遇到此错误。