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

IntelliJ IDEA导入Spring Boot Maven项目报错求助

解决IntelliJ IDEA中Spring Boot Web项目启动时javax.servlet.Filter缺失的问题

你遇到的java.lang.NoClassDefFoundError: javax/servlet/Filter报错,本质是类路径中缺少Servlet API相关依赖。之所以在Eclipse/STS中能正常运行,是因为这两个IDE会自动把关联的Servlet容器(比如Tomcat)的API包加入运行类路径,但IntelliJ IDEA默认不会这么做,尤其是当你的Maven依赖把Servlet API标记为provided范围时。

下面是几种可行的解决办法:

方法1:调整Maven依赖范围(最简单直接)

打开项目的pom.xml,检查是否有如下类似的依赖配置:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

<scope>provided</scope>表示这个依赖会由运行环境(比如服务器)提供,本地运行时Maven不会把它加入类路径。你可以直接删除这个<scope>标签,这样Maven会自动将Servlet API包引入本地运行环境,重启项目即可正常启动。

如果是使用Spring Boot Starter Web依赖,默认已经包含了Servlet API,检查是否手动添加了额外的provided范围的Servlet依赖,删掉即可。

方法2:保持provided范围,配置IntelliJ运行环境

如果你需要保留provided标识(比如部署到服务器时避免重复打包Servlet API),可以给IntelliJ的运行配置添加容器依赖:

  • 点击右上角运行按钮旁的下拉菜单,选择「Edit Configurations」
  • 在列表中找到你的Spring Boot应用的运行配置,切换到「Dependencies」标签页
  • 点击+按钮,选择「Library」,然后找到你项目关联的Tomcat(或其他Servlet容器)库,添加到依赖列表
  • 点击「Apply」保存配置,重新启动项目即可

方法3:刷新Maven依赖并重新同步

有时候是IntelliJ没有正确同步Maven依赖,试试以下操作:

  • 点击右侧Maven面板的「Reload All Maven Projects」按钮(圆形箭头图标)
  • 或者在终端执行mvn clean install命令,完成后回到IntelliJ,等待依赖同步完成
  • 必要时重启IntelliJ IDEA,再尝试启动项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:19:40