【问题标题】:How to overcome Unsupported class file major version 58 IllegalArgumentException如何克服 Unsupported class file major version 58 IllegalArgumentException
【发布时间】:2021-06-23 13:01:19
【问题描述】:

我在 eclipse 2021 03 中运行一个 spring web 项目并得到以下错误

ASM ClassReader 无法解析类文件 - 可能是由于尚不支持的新 Java 类文件版本:文件 [C:\User\eclipse-workspace.metadata.plugins\org.eclipse.wst.server。核心\tmp0\wtpwebapps\web-customer-tracker\WEB-INF\classes\com\springdemo\controller\CustomerController.class];嵌套异常是 java.lang.IllegalArgumentException: Unsupported class file major version 58

我已经使用 jdk 14 编译了这个类

使用的 jre 与 jdk 14 兼容

eclipse中的编译器设置和jre设置,属性和首选项设置为jdk 14和jre 14

仍然出现同样的错误

我还应该调整什么?摆脱这个错误

【问题讨论】:

  • 您使用的是哪个版本的“ASM ClassReader”?那是什么图书馆?
  • 什么是抛出错误?它来自 Eclipse 本身吗?也许 Eclipse 没有在 Java 14 JRE 上运行?
  • 如何查看asm classreader的版本
  • @JohnXF 使用 Java 11 运行 Eclipse,使用 Java 14 编写代码并使用 Java 15 运行应用程序没有问题。换句话说,在这里使用哪个 Java 来运行 Eclipse 并不重要。

标签: java eclipse illegalargumentexception


【解决方案1】:

Unsupported class file major version 58:您正在尝试在旧版本的 Java 上运行为 Java 14(主要版本 58 属于 Java 14)编译的代码。如果您使用 Eclipse(或任何其他 IDE)运行您的项目,请检查您在 Eclipse(或任何其他 IDE)中的项目设置。如果您使用命令行运行项目,则可以执行java -version 来检查类路径中的 Java 版本。使用较新版本的 Java。 Java 14 即将结束,您应该更新到 Java 16(或降到 11 LTS)。

【讨论】:

  • 在 Eclipse 中,可以在 JRE 选项卡的运行配置中选择用于运行应用程序的 Java。只能选择那些在 Java > Installed JREs 的首选项中配置的 Java 安装。
猜你喜欢
  • 2019-10-20
  • 2023-01-27
  • 2023-01-17
  • 2017-02-22
  • 2015-09-18
  • 2013-05-02
  • 2012-09-02
  • 2023-01-07
相关资源
最近更新 更多