Spring工具套件4版本中出现UnsupportedClassVersionError

问题描述 投票:0回答:1

我正在尝试运行我的 spring 项目,但遇到此错误:

`java.lang.UnsupportedClassVersionError: jakarta/servlet/http/HttpServlet has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0 (unable to load class [jakarta.servlet.http.HttpServlet]) (unable to load class [org.springframework.web.servlet.HttpServletBean]) (unable to load class [org.springframework.web.servlet.FrameworkServlet]) (unable to load class [org.springframework.web.servlet.DispatcherServlet])`

我做了以下改变:

1。转到 Properties -> Java Build Path -> Libraries 并将执行环境编辑为 java se-17

(https://i.stack.imgur.com/wTWj3.png)

2。 Windows -> 首选项 -> Java -> 编译器 -> 编译器合规级别 -> 17

(https://i.stack.imgur.com/z3TMe.png)

我在笔记本电脑上安装了java 17版本。

仍然显示相同的错误。我是这方面的新手,我哪里做错了?

java spring spring-boot spring-mvc version
1个回答
0
投票

class版本到jdk版本的换算表 这是表格

  • 65=jdk21
  • 61=jdk17

错误表示您尝试加载使用 jdk17 编译的类(servlet),而该类是使用 jdk21 编译的。

我们需要更多信息(pom.xml)来进行完整的诊断,但您可能使用了需要 jdk21 的最新版本的 spring/spring boot。

我建议初学者不要使用jdk17。 这里是有关重大变更的更多信息,理解起来有点复杂。

所以只需将所有库更新到最新版本,并在 Eclipse 中使用最新版本的 jdk21 即可。不要忘记带上与 jdk21 兼容的最新版本的 Eclipse 之一。

© www.soinside.com 2019 - 2024. All rights reserved.