Spring MVC NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config

本文介绍了解决在使用Spring MVC框架时遇到的NoClassDefFoundError错误的方法。该错误通常发生在Tomcat服务器未能找到JSTL相关的类文件。文章详细解释了如何通过在Tomcat/lib目录下放置正确的jar包来修复这个问题。

Idea IntelliJ 编译器下,使用spring mvc进行开发,使用tomcat容器,通过url映射寻找view的时候,会报错NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config,原因是Tomcat/lib 目录下没有对应的jar包,复制项目中的jstl.jar和standard.jar

16-Nov-2025 21:06:08.325 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/11.0.11 16-Nov-2025 21:06:08.327 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Sep 1 2025 10:24:44 UTC 16-Nov-2025 21:06:08.327 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 11.0.11.0 16-Nov-2025 21:06:08.328 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 16-Nov-2025 21:06:08.328 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 16-Nov-2025 21:06:08.328 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 16-Nov-2025 21:06:08.328 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Program Files\Java\jdk-24 16-Nov-2025 21:06:08.328 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 24.0.1+9-30 16-Nov-2025 21:06:08.329 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 16-Nov-2025 21:06:08.330 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\27416\AppData\Local\JetBrains\IntelliJIdea2024.1\tomcat\38faab8b-32ae-41a2-86fc-770721fd9a1f 16-Nov-2025 21:06:08.330 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Program Files\Apache Software Foundation\Tomcat 11.0 16-Nov-2025 21:06:08.333 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\27416\AppData\Local\JetBrains\IntelliJIdea2024.1\tomcat\38faab8b-32ae-41a2-86fc-770721fd9a1f\conf\logging.properties 16-Nov-2025 21:06:08.333 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 16-Nov-2025 21:06:08.333 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 16-Nov-2025 21:06:08.333 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 16-Nov-2025 21:06:08.333 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 16-Nov-2025 21:06:08.334 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\27416\AppData\Local\JetBrains\IntelliJIdea2024.1\tomcat\38faab8b-32ae-41a2-86fc-770721fd9a1f\jmxremote.password 16-Nov-2025 21:06:08.334 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\27416\AppData\Local\JetBrains\IntelliJIdea2024.1\tomcat\38faab8b-32ae-41a2-86fc-770721fd9a1f\jmxremote.access 16-Nov-2025 21:06:08.334 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 16-Nov-2025 21:06:08.335 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 16-Nov-2025 21:06:08.335 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 16-Nov-2025 21:06:08.336 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 16-Nov-2025 21:06:08.336 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 16-Nov-2025 21:06:08.336 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 16-Nov-2025 21:06:08.336 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 16-Nov-2025 21:06:08.337 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 16-Nov-2025 21:06:08.337 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --enable-native-access=ALL-UNNAMED 16-Nov-2025 21:06:08.337 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\27416\AppData\Local\JetBrains\IntelliJIdea2024.1\tomcat\38faab8b-32ae-41a2-86fc-770721fd9a1f 16-Nov-2025 21:06:08.337 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 11.0 16-Nov-2025 21:06:08.338 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 11.0\temp 16-Nov-2025 21:06:08.344 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 在java.library.path:[C:\Program Files\Java\jdk-24\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\VMware\bin\;D:\python\Scripts\;D:\python\;D:\cuda\bin;D:\cuda\libnvvp;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\NVIDIA Corporation\Nsight Compute 2025.2.1\;C:\Program Files\NVIDIA Corporation\NVIDIA App\NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;D:\nodejs\;D:\git\Git\cmd;C:\Program Files\Java\jdk-24\bin;C:\Program Files\MySQL\MySQL Server 8.0\bin;D:\idea\maven\apache-maven-3.9.10;D:\MATLAB\matlab\runtime\win64;D:\MATLAB\matlab\bin;C:\Users\27416\.local\bin;C:\Users\27416\AppData\Local\Microsoft\WindowsApps;D:\ollama;D:\dev studio\DevEco Studio\bin;;C:\Users\27416\AppData\Roaming\npm;D:\idea\IntelliJ IDEA 2024.1.7\bin;;.]上找不到基于APR的Apache Tomcat本机库,该库允许在生产环境中获得最佳性能 16-Nov-2025 21:06:08.490 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 16-Nov-2025 21:06:08.506 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[438]毫秒内初始化 16-Nov-2025 21:06:08.574 严重 [main] org.apache.catalina.users.MemoryUserDatabase.open 指定用户数据库[conf/tomcat-users.xml]未找到 16-Nov-2025 21:06:08.583 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 16-Nov-2025 21:06:08.583 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/11.0.11] 16-Nov-2025 21:06:08.597 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 16-Nov-2025 21:06:08.652 信息 [main] org.apache.catalina.startup.Catalina.start [145]毫秒后服务器启动 [2025-11-16 09:06:09,098] 工件 ssm-Student2:war exploded: 正在部署工件,请稍候… 已连接到服务器 16-Nov-2025 21:06:09.874 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 16-Nov-2025 21:06:09.977 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 16-Nov-2025 21:06:09.977 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/ssm_Student2_war_exploded]启动失败 [2025-11-16 09:06:09,993] 工件 ssm-Student2:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息。 16-Nov-2025 21:06:18.602 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [C:\Program Files\Apache Software Foundation\Tomcat 11.0\webapps\manager] 16-Nov-2025 21:06:18.670 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[C:\Program Files\Apache Software Foundation\Tomcat 11.0\webapps\manager]的部署已在[67]毫秒内完成
最新发布
11-17
虽然给定引用中未直接提及 `NoClassDefFoundError: javax/servlet/descriptor/JspConfigDescriptor` 的解决方案,但可以参考类似错误 `NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config` 的解决思路来尝试解决。 ### 检查依赖 若项目使用 Maven 管理依赖,可在 `pom.xml` 文件里添加相关依赖。类似 `NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config` 的解决办法,可添加 JSTL 依赖,对于 `JspConfigDescriptor` 相关问题,可能需确保 Servlet API 依赖存在: ```xml <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> ``` ### 检查服务器运行时环境 可参考 `NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config` 的解决办法,设置服务器运行时环境。右击 Web 工程,选择属性或 Build Path,再选择 Java Build Path,接着选择 Libraries,点击 Add Library,选择 Server Runtime,然后选择 Tomcat Server。之后切换到 Java Build Path 界面中的 Order and Export,选择 Tomcat [^4]。 ### 检查 JAR 包 若项目不是使用 Maven 管理依赖,可手动添加相关 JAR 包。类似 `NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config` 的解决办法,若缺少 JSTL 的 JAR 包,可下载 `jakarta-taglibs-standard-1.1.2.zip` 包,解压缩后将 `standard` 和 `jstl` 两个包放入 `lib` 下。对于 `JspConfigDescriptor` 相关问题,需确保 Servlet API 的 JAR 包在项目的类路径中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值