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

升级Java17+Spring Boot3后JSP依赖配置异常求助

解决Spring Boot 3 + Java 17 + JSP项目的Dynamic Web Module依赖错误

问题原因

错误提示里的「Dynamic Web Module facet version (2.5)」是核心矛盾:Web Module 2.5对应Java EE 5规范,IDE会默认查找javax.servlet.*依赖,但Spring Boot 3基于Jakarta EE 9+,所有Servlet相关API已迁移到jakarta.servlet.*包,两者规范不匹配导致报错。

解决方案

1. 更新Dynamic Web Module Facet版本

  • 右键项目 → Properties → Project Facets
  • 先取消勾选「Dynamic Web Module」,点击Apply
  • 重新勾选「Dynamic Web Module」,选择版本4.0或更高(推荐5.0,对应Jakarta Servlet 5.0)
  • 点击「Further configuration available...」,确认上下文根等配置,确保关联Jakarta EE相关库而非Java EE

2. 清理并同步Maven依赖

  • 右键项目 → Maven → Update Project,勾选「Force Update of Snapshots/Releases」后执行
  • 执行命令行清理缓存:
    mvn clean install
    

3. 修正Pom.xml依赖配置

确保依赖完全基于Jakarta规范,移除所有javax.*相关依赖,推荐配置如下:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.0</version> <!-- 替换为最新Spring Boot 3稳定版 -->
    <relativePath/>
</parent>

<dependencies>
    <!-- Spring Web核心依赖,已包含jakarta.servlet-api -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- JSP编译支持 -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- JSTL标签库 -->
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>jakarta.servlet.jsp.jstl</artifactId>
    </dependency>
</dependencies>

注:无需单独添加jakarta.servlet-api依赖,spring-boot-starter-web已包含该依赖,且默认scope为provided(容器提供)

4. 检查IDE构建路径

  • 右键项目 → Build Path → Configure Build Path
  • 在Libraries标签下,移除所有包含javax.servlet-api的库
  • 确保仅保留Jakarta相关依赖(如jakarta.servlet-api、tomcat-embed-jasper等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:31:14