猿问

解决 IntelliJ IDEA 中的 UnsupportedClassVersionError

我正在使用 Intellij IDEA 学习 Java 课程。在这个“测试”项目中,我只有两个测试类,如下所示(它们实际上没有任何代码)。在我进入这个问题之前,我只需要说明我所有的项目都运行正常,只是我在运行终端命令时遇到以下问题,恐怕我的 IDE 出了问题:

当我需要使用以下命令获取类 BankAccount 的串行版本时,就会出现问题:

E:\Software Projects\Test\out\production\Test>serialver com.company.BankAccount

我收到如下所示的错误,并且我知道这些类是由较新的 Java 运行时错误编译的,但是我该如何在 Intellij 中对此进行故障排除?在任何项目的任何类上运行命令时,我都会遇到同样的错误。

附加说明:使用 java com.company.Main 在终端中运行 Main 类时,我也收到与此相关的错误

我认为可能是问题的原因:在第一次尝试“serialver”之前,我更改了项目文件夹的名称(我只是在 Windows 的文件资源管理器中使用了“重命名”,它把一切都搞砸了在 Intellij 中(无论我打开什么项目,它都没有 SDK,也没有运行/调试配置)。所以,我在一个项目上选择了“添加 SDK”(或类似的东西,并从列表中选择了一个 JRE 12。然后我运行了“调试Main”和运行/调试配置是自动设置的。

当我转到“项目结构”>“项目设置”>“SDK”时,我只有一个 SDK:“C:\Program Files\Java\jdk-12.0.1”。

当我转到项目中的“运行/调试配置”时,在 Application > Main 的 JRE 中我有以下选择(但据我了解,这些都是同一个 SDK,对吧?):

  • 默认(12 - “测试”模块的 SDK)

  • 12(Java 版本“12.0.1”)

  • “C:\Program Files\Java\jdk-12.0.1”

所以我不知道如何在这里调整任何东西?我如何能够随时在较新的 Java 运行时版本中编译这些类?

这里的问题是我不确定是否还有其他问题,或者我之前所做的调整是否搞砸了。


12345678_0001
浏览 294回答 2
2回答

忽然笑

java -version在命令行中运行。如果不是 Java 12 或更高版本,它将解释问题。您的目标是 Java 12 版本,同时在较旧的 Java 版本上运行它。解决方案是要么调整目标语言级别,以便您的代码可以在较旧的 Java 版本上运行,要么调整您的PATH环境,以便java从 JDK 12 安装目录是第一个。java.exe或者您可以在尝试运行代码时在命令行中指定完整路径:E:\Software Projects\Test\out\production\Test>"C:\Program Files\Java\jdk-12.0.1\bin\java.exe" com.company.Main

倚天杖

通过编辑文件“idea.properties”并设置正确的 JVMVersion 来解决
随时随地看视频慕课网APP

相关分类

Java
我要回答