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

Spring Boot中servletComponentRegisteringPostProcessor创建失败求助

问题原因与解决方法

核心原因

  • 项目依赖缺失Jakarta Servlet API相关包,或依赖版本与Spring Boot版本不兼容:Spring Boot 3.x起全面切换为Jakarta EE规范,Servlet相关包名从javax.servlet改为jakarta.servlet;若你跟着的教程用Spring Boot 2.x(依赖Java EE的javax包),但自己用了3.x版本,就会出现找不到jakarta.servlet.annotation.WebServlet的问题;反之亦然。

解决方法

若使用Spring Boot 3.x版本

  1. 确保pom.xml中引入spring-boot-starter-web依赖(它已包含所需的Jakarta Servlet API):
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

若需单独引入Servlet API,使用Jakarta版本:

<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>
  1. 检查HelloServlet.java中的注解导入,必须是:
import jakarta.servlet.annotation.WebServlet;

若使用Spring Boot 2.x版本

  1. 将pom.xml中的Spring Boot版本改为2.x系列(如2.7.15)
  2. 引入Java EE的Servlet API依赖:
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <scope>provided</scope>
</dependency>
  1. 调整HelloServlet.java中的注解导入为:
import javax.servlet.annotation.WebServlet;

额外检查

  • 确认BelajarServletApp.java上添加了@ServletComponentScan注解,该注解用于Spring Boot扫描@WebServlet等注解,缺失可能引发后续处理器创建问题
  • 执行mvn clean install清理Maven缓存,确保依赖正确下载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:24:52