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

已添加依赖包仍出现java.lang.ClassNotFoundException: DispatcherServlet异常

问题描述

我已经在Java构建路径的库以及lib文件夹中添加了所有所需的JAR包,但运行代码时仍抛出java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet异常。

附上我的web.xml配置代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    
    <servlet>
       <servlet-name>frontcontroller</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
       <servlet-name>frontcontroller</servlet-name>
       <url-pattern>*.*</url-pattern>
    </servlet-mapping>

</web-app>

报错截图:
报错截图


解决方法
  • 验证JAR包的部署状态:Java构建路径仅用于IDE编译阶段,服务器运行时会从项目部署目录的WEB-INF/lib读取依赖。检查打包后的war包或服务器部署目录,确认包含spring-webmvc.jar(DispatcherServlet所在的核心包);若使用IDE自动部署,需确保IDE配置了将lib目录的JAR同步到服务器部署路径。
  • 统一Spring依赖版本:确保spring-webmvc与其他Spring相关JAR包版本完全一致,版本不兼容会导致类加载失败。
  • 清理重构项目:删除IDE生成的target目录(或编译输出目录),执行clean操作后重新编译、打包、部署,清除缓存带来的异常。
  • 升级Servlet规范版本:当前使用的web-app_2_3.dtd版本过旧,建议更换为Servlet 3.0+规范,避免规范兼容问题。修改web.xml的DOCTYPE为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
  • 使用依赖管理工具:如果项目用Maven/Gradle,直接通过配置文件添加spring-webmvc依赖,由工具自动处理依赖下载和部署,避免手动添加JAR的遗漏。例如Maven依赖配置:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>你的Spring版本号</version>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 21:29:58