Tomcat 10.0 要导入的jstl相关的jar

在学习JSTL时遇到`NoClassDefFoundError`,原因是导入的jar包不正确。对于Tomcat 10及以上版本,需要使用jakarta.servlet.jsp.jstl-2.0.0.jar和jakarta.servlet.jsp.jstl-api-2.0.0.jar。若使用Tomcat 10以下版本,则需用taglibs-standard-impl-1.2.5.jar和taglibs-standard-spec-1.2.5.jar。确保正确下载并添加到项目类路径。

在学习jstl过程中,遇到了两个报错:

java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibrary Validator错误

java.lang.NoClassDefFoundError:jakarta/servlet/jsp/jstl/core/ConditionalTagSupport

问题出在导入jar包不对

tomcat10版本安装jstl库需使用以下两个jar包

jakarta.servlet.jsp.jstl-2.0.0.jar

jakarta.servlet.jsp.jstl-api-2.0.0.jar

下载链接:Jakarta Standard Tag Library 2.0 | The Eclipse FoundationRelease for Jakarta EE 9https://jakarta.ee/zh/specifications/tags/2.0/

tomcat10以下版本安装jstl库需使用以下两个jar包

taglibs-standard-impl-1.2.5.jar

taglibs-standard-spec-1.2.5.jar

下载链接:Apache Tomcat® - Apache Taglibs Downloadsicon-default.png?t=M3K6https://tomcat.apache.org/download-taglibs.cgi

HTTP状态500-内部服务器错误 类型异常报告 消息无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri: [https://jakarta.ee/xml/ns/jstl/core]描述服务器遇到一个意外的情况,阻止它完成请求。例外情况 org. apache. jasper.JasperException:无法在web.xm1或使用此应用程序部署的jar文件中解析绝对uri: [https://jakarta.ee/xm1/ns/jst1/core] org. apache.jasper.compi1er.DefaultErrorHandler.jspError(DefaultErrorHandler.java:54) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:294) org. apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:81) org. apache.jasper.compiler.TagLibraryInfoImp1.generateT1dResourcePath(TagLibraryInfoImp1.java:251) org. apache.jasper.compiler.TagLibraryInfoImp1.<init>(TagLibraryInfoImp1.java:122) org. apache.jasper.compiler.Parser.parseTag1ibDirective(Parser.java:429) org. apache.jasper.compi1er.Parser.parseDirective(Parser.java:487) org.apache.jasper.compiler.Parser.parseE1ements(Parser.java:1444) org. apache.jasper.compi1er.Parser.parse(Parser.java:138) org. apache.jasper.compi1er.ParserContro11er.doParse(ParserContro11er.java:245) org.apache.jasper.compiler.ParserContro11er.parse(ParserContro11er.java:106) org. apache.jasper.compiler.Compiler.generateJava(Compiler.java:206) org. apache.jasper.compiler.Compi1er.compi1e(Compiler.java:391) org. apache.jasper.compi1er.Compiler.compile(Compi1er.java:367) org. apache.jasper.compi1er.Compiler.compile(Compi1er.java:351) org. apache.jasper.JspCompi1ationContext.compi1e(JspCompi1ationContext.java:603) org.apache.jasper.serv1et.JspServ1etWrapper.service(JspServ1etWrapper.java:399) org. apache.jasper.serv1et.JspServ1et.serviceJspFi1e(JspServ1et.java:380) org. apache.jasper.serv1et.JspServ1et.service(JspServ1et.java:328) jakarta.serv1et.http.HttpServ1et.service(HttpServ1et.java:792) org. apache. tomcat.websocket. server.WsFi1ter.doFi1ter(WsFi1ter.java:53) filter.EncodeFi1ter.doFi1ter(EncodeFi1ter.java:14) ):注意主要问题的全部stack 信息可以在server logs里查看 Apache Tomcat/10.0.27
最新发布
12-04
F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\bin\catalina.bat run 2025-06-17 06:17:33,028 Artifact WebKS:war: Waiting for server connection to start artifact deployment... Using CATALINA_BASE: "C:\Users\����\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff" Using CATALINA_HOME: "F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40" Using CATALINA_TMPDIR: "C:\Users\����\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\temp" Using JRE_HOME: "D:\Java\jdk-16.0.2" Using CLASSPATH: "F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\bin\bootstrap.jar;F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" 17-Jun-2025 18:17:33.753 信息 main org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/10.1.40 17-Jun-2025 18:17:33.755 信息 main org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Apr 1 2025 17:20:53 UTC 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 10.1.40.0 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 10 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\Java\jdk-16.0.2 17-Jun-2025 18:17:33.756 信息 main org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 16.0.2+7-67 17-Jun-2025 18:17:33.757 信息 main org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 17-Jun-2025 18:17:33.757 信息 main org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff 17-Jun-2025 18:17:33.757 信息 main org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40 17-Jun-2025 18:17:33.758 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\conf\logging.properties 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\jmxremote.password 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\jmxremote.access 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 17-Jun-2025 18:17:33.759 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 17-Jun-2025 18:17:33.760 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40 17-Jun-2025 18:17:33.761 信息 main org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=C:\Users\乐乐\AppData\Local\JetBrains\IntelliJIdea2024.2\tomcat\4b98b26d-340d-4d2f-adbd-1d3e8a3e73ff\temp 17-Jun-2025 18:17:33.763 信息 main org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本1.7.4加载了基于APR的Apache Tomcat本机库2.0.8。 17-Jun-2025 18:17:33.769 信息 main org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 OpenSSL 3.0.14 4 Jun 2024 17-Jun-2025 18:17:33.953 信息 main org.apache.coyote.AbstractProtocol.init 初始化协议处理器 "http-nio-8080" 17-Jun-2025 18:17:33.975 信息 main org.apache.catalina.startup.Catalina.load 服务器在437毫秒内初始化 17-Jun-2025 18:17:34.035 信息 main org.apache.catalina.core.StandardService.startInternal 正在启动服务Catalina 17-Jun-2025 18:17:34.035 信息 main org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:Apache Tomcat/10.1.40 17-Jun-2025 18:17:34.054 信息 main org.apache.coyote.AbstractProtocol.start 开始协议处理句柄"http-nio-8080" 17-Jun-2025 18:17:34.098 信息 main org.apache.catalina.startup.Catalina.start 122毫秒后服务器启动 Connected to server 2025-06-17 06:17:34,106 Artifact WebKS:war: Artifact is being deployed, please wait... 17-Jun-2025 18:17:35.895 严重 RMI TCP Connection(2)-127.0.0.1 org.apache.catalina.core.StandardContext.startInternal ServletContainerInitializer处理期间出错 jakarta.servlet.ServletException: java.io.FileNotFoundException: JAR entry META-INF/taglib.tld not found in F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\webapps\WebKS_war\WEB-INF\lib\jakarta.servlet.jsp.jstl-3.0.1.jar at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4464) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:654) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1787) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:263) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:418) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:372) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:263) at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809) at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307) at java.base/java.security.AccessController.doPrivileged(AccessController.java:691) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1406) at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:691) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705) at java.base/java.security.AccessController.doPrivileged(AccessController.java:391) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) Caused by: java.io.FileNotFoundException: JAR entry META-INF/taglib.tld not found in F:\apache-tomcat-10.1.40-windows-x64\apache-tomcat-10.1.40\webapps\WebKS_war\WEB-INF\lib\jakarta.servlet.jsp.jstl-3.0.1.jar at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:147) at java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:155) at java.base/java.net.URL.openStream(URL.java:1192) at org.apache.tomcat.util.descriptor.tld.TldResourcePath.openStream(TldResourcePath.java:127) at org.apache.tomcat.util.descriptor.tld.TldParser.parse(TldParser.java:62) at org.apache.jasper.servlet.TldScanner.scanJspConfig(TldScanner.java:187) at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:96) at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:81) ... 45 more 17-Jun-2025 18:17:35.941 严重 RMI TCP Connection(2)-127.0.0.1 org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context/WebKS_war启动失败 2025-06-17 06:17:35,963 Artifact WebKS:war: Error during artifact deployment. See server log for details. 17-Jun-2025 18:17:40.956 信息 mysql-cj-abandoned-connection-cleanup org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 非法访问:此Web应用程序实例已停止。无法加载。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。 at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1400) at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:987) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:123) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:90) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:831) 依然有错您帮我分析一下
06-18
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值