You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC 6.0.3项目启动报错:jakarta.servlet.http.HttpServlet类找不到

Spring MVC 6.0.3 启动报错:ClassNotFoundException: jakarta.servlet.http.HttpServlet 排查方案

核心原因

Spring MVC 6.0.x 基于**Jakarta EE 9+**规范开发,Servlet API的包名已从旧的javax.servlet彻底改为jakarta.servlet。若你使用的Tomcat版本低于10.0,它仅支持旧版javax.servlet API,自然找不到jakarta.servlet.http.HttpServlet类,这是导致报错的根本原因。


具体解决步骤

1. 升级Tomcat至10.0及以上版本

必须使用适配Jakarta EE 9+的Tomcat版本(推荐Tomcat 10.1.x,兼容Jakarta EE 10):

  • 打开Eclipse的Window > Preferences > Server > Runtime Environments
  • 删除原有的Tomcat 9及以下版本配置
  • 点击Add,选择Apache Tomcat v10.x,指向本地Tomcat 10.x的安装目录,完成配置

2. 修正pom.xml依赖配置

确保依赖适配Jakarta规范,且Servlet API设置为provided(由Tomcat提供,无需打包进项目):

<dependencies>
    <!-- Spring MVC 6.0.3 核心依赖 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>6.0.3</version>
    </dependency>

    <!-- Jakarta Servlet API 适配Spring 6 -->
    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.0.0</version>
        <scope>provided</scope>
    </dependency>

    <!-- JUnit 5 测试依赖(可选) -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.2</version>
        <scope>test</scope>
    </dependency>
</dependencies>

3. 验证项目部署配置

  • 右键项目 > Properties > Targeted Runtimes,勾选已配置的Tomcat 10.x版本
  • 清理并重新部署:右键服务器 > Clean,再右键项目 > Run As > Run on Server,选择Tomcat 10.x

4. 检查web.xml配置(可选,推荐迁移至Java配置)

若仍使用web.xml,确保DispatcherServlet的类路径正确(Spring MVC 6的DispatcherServlet已适配Jakarta):

<servlet>
    <servlet-name>dispatcherservlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

注:Spring 6推荐使用Java配置替代web.xml,比如实现WebApplicationInitializer接口,避免XML配置的兼容性问题。

内容的提问来源于stack exchange,提问作者ayush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:45:34