jar not loaded. org.apache.jasper.JasperExcep

本文介绍了Tomcat启动过程中出现的两个常见错误:validateJarFile()--jar not loaded 和 ClassCastException 异常。针对这些问题,提供了具体的解决方案,包括删除冗余的jar包和在context.xml中添加Loader配置。

tomcat启动提示信息:validateJarFile(x:\tomcat\webapps\rightAdmin\WEB-INF\lib\javaee.jar) – jar not loaded.

这是因为jar包冗余,删除tomcat\webapps\rightAdmin\WEB-INF\lib\目录下的jar包就可以了


org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor

修改了tomcat里的context.xml文件,在context 元素下添加 

<Loader delegate="true" /> 

转载于:https://my.oschina.net/u/1579617/blog/396742

C:\Develop\apache-tomcat-8.5.53\bin\catalina.bat run [2025-06-19 07:23:14,102] 工件 Pet_Management:war: 正在等待服务器连接以启动工件部署… Using CATALINA_BASE: "C:\Users\22701\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\77de4e20-eb21-411b-a5a0-ad428544429d" Using CATALINA_HOME: "C:\Develop\apache-tomcat-8.5.53" Using CATALINA_TMPDIR: "C:\Develop\apache-tomcat-8.5.53\temp" Using JRE_HOME: "C:\Program Files\Java\jdk-21" Using CLASSPATH: "C:\Develop\apache-tomcat-8.5.53\bin\bootstrap.jar;C:\Develop\apache-tomcat-8.5.53\bin\tomcat-juli.jar" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 19-Jun-2025 19:23:17.504 警告 [main] org.apache.catalina.core.AprLifecycleListener.init 基于APR的本地库加载失败.错误报告为[C:\Develop\apache-tomcat-8.5.53\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform] java.lang.UnsatisfiedLinkError: C:\Develop\apache-tomcat-8.5.53\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:331) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:197) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:139) at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:259) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:251) at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2451) at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916) at java.base/java.lang.System.loadLibrary(System.java:2063) at org.apache.tomcat.jni.Library.<init>(Library.java:42) at org.apache.tomcat.jni.Library.initialize(Library.java:178) at org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:198) at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:107) at org.apache.catalina.connector.Connector.setProtocol(Connector.java:615) at org.apache.catalina.connector.Connector.<init>(Connector.java:78) at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:64) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1234) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1387) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224) at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1495) at org.apache.catalina.startup.Catalina.load(Catalina.java:611) at org.apache.catalina.startup.Catalina.load(Catalina.java:662) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:303) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) 19-Jun-2025 19:23:18.296 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/8.5.53 19-Jun-2025 19:23:18.304 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Mar 11 2020 10:01:39 UTC 19-Jun-2025 19:23:18.306 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(:8.5.53.0 19-Jun-2025 19:23:18.311 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Windows 11 19-Jun-2025 19:23:18.315 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 19-Jun-2025 19:23:18.317 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 19-Jun-2025 19:23:18.327 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Program Files\Java\jdk-21 19-Jun-2025 19:23:18.335 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM 版本: 21.0.7+8-LTS-245 19-Jun-2025 19:23:18.339 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 19-Jun-2025 19:23:18.351 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\22701\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\77de4e20-eb21-411b-a5a0-ad428544429d 19-Jun-2025 19:23:18.365 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: C:\Develop\apache-tomcat-8.5.53 19-Jun-2025 19:23:18.376 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED 19-Jun-2025 19:23:18.386 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED 19-Jun-2025 19:23:18.398 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 19-Jun-2025 19:23:18.450 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=C:\Users\22701\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\77de4e20-eb21-411b-a5a0-ad428544429d\conf\logging.properties 19-Jun-2025 19:23:18.493 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 19-Jun-2025 19:23:18.501 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote= 19-Jun-2025 19:23:18.544 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.port=1099 19-Jun-2025 19:23:18.566 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.ssl=false 19-Jun-2025 19:23:18.572 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.password.file=C:\Users\22701\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\77de4e20-eb21-411b-a5a0-ad428544429d\jmxremote.password 19-Jun-2025 19:23:18.586 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcom.sun.management.jmxremote.access.file=C:\Users\22701\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\77de4e20-eb21-411b-a5a0-ad428544429d\jmxremote.access 19-Jun-2025 19:23:18.601 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.rmi.server.hostname=127.0.0.1 19-Jun-2025 19:23:18.611 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 19-Jun-2025 19:23:18.621 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 19-Jun-2025 19:23:18.645 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs= 19-Jun-2025 19:23:18.659 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=C:\Users\22701\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\77de4e20-eb21-411b-a5a0-ad428544429d 19-Jun-2025 19:23:18.661 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=C:\Develop\apache-tomcat-8.5.53 19-Jun-2025 19:23:18.669 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=C:\Develop\apache-tomcat-8.5.53\temp 19-Jun-2025 19:23:19.048 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 19-Jun-2025 19:23:19.239 信息 [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 19-Jun-2025 19:23:19.473 信息 [main] org.apache.catalina.startup.Catalina.load Initialization processed in 2716 ms 19-Jun-2025 19:23:19.641 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina] 19-Jun-2025 19:23:19.644 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.53 19-Jun-2025 19:23:19.706 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 19-Jun-2025 19:23:19.768 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 292 ms 已连接到服务器 [2025-06-19 07:23:19,940] 工件 Pet_Management:war: 正在部署工件,请稍候… 19-Jun-2025 19:23:20.966 警告 [RMI TCP Connection(2)-127.0.0.1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion 未知版本字符串 [4.0]。将使用默认版本。 19-Jun-2025 19:23:23.675 信息 [RMI TCP Connection(2)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 [2025-06-19 07:23:23,924] 工件 Pet_Management:war: 工件已成功部署 [2025-06-19 07:23:23,926] 工件 Pet_Management:war: 部署已花费 3,985 毫秒 19-Jun-2025 19:23:29.780 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [C:\Develop\apache-tomcat-8.5.53\webapps\manager] 19-Jun-2025 19:23:29.939 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [C:\Develop\apache-tomcat-8.5.53\webapps\manager] has finished in [159] ms
最新发布
06-20
<think>好的,我现在要解决用户的问题:“Unit firewalld.service not loaded.” 的翻译。首先,我需要理解这句话的来源和上下文。通常,当在Linux系统中使用systemctl命令管理服务时,如果服务未安装或未加载,会看到类似的消息。 首先,分解这句话的结构。“Unit”在这里指的是systemd的一个单元,可能是服务、套接字等类型。这里的“firewalld.service”是具体的服务单元名称,而“not loaded”表示该单元未被加载到systemd中。接下来,我需要确定正确的翻译方式,既要准确传达技术含义,又要符合中文表达习惯。 “Unit”在systemd中通常翻译为“单元”或“单位”,但技术文档中多用“单元”。所以“Unit firewalld.service”可以译为“单元 firewalld.service”或保留不译,直接使用原术语。但考虑到用户可能需要更直观的理解,可能需要更详细的解释。 “not loaded”意味着该服务未被加载到内存中,可能因为服务未安装、被禁用,或者尚未被启动过。在翻译时,需要选择合适的中文表达,例如“未加载”或“未被加载”。 综合起来,直译可能是“单元 firewalld.service 未加载。”,但可能需要补充说明,让用户更清楚原因和解决方法。例如,指出firewalld可能未安装,或者被屏蔽,或者需要启用。 另外,要考虑用户的实际需求。用户可能遇到这个问题时,是在尝试启动或管理防火墙服务,但系统提示该单元未加载。他们需要知道如何解决,而不仅仅是翻译。因此,在回答时,除了翻译外,还应简要说明可能的原因和解决步骤。 需要验证翻译的准确性。查阅技术文档或资料,确认“Unit ... not loaded.”的标准中文翻译。例如,在systemd的文档中,可能会使用“单元未被加载”这样的表达。同时,检查是否存在常见的误解或错误翻译,避免误导用户。 最后,确保回答结构清晰,符合用户的要求,分步骤解释问题、翻译以及可能的解决方案。这样用户不仅能得到翻译,还能理解问题所在并知道如何解决。</think>### 分步解释与翻译: 1. **逐词翻译**: - **Unit**:在 systemd(Linux 系统服务管理工具)中,表示一个“管理单元”,通常直接保留英文术语或译为“单元”。 - **firewalld.service**:Linux 防火墙服务(firewalld)的 systemd 单元名称,无需翻译。 - **not loaded**:表示该服务未被加载到内存中,译为“未加载”。 2. **完整翻译**: - 直译:`单元 firewalld.service 未加载。` - 更自然的表达:`firewalld 服务单元未被加载。` --- ### 技术含义与常见原因: 此提示表示系统未找到或未正确加载 `firewalld`(动态防火墙守护进程)的 systemd 服务单元。可能原因包括: 1. **未安装 firewalld**: 系统未安装该软件包,需通过包管理器安装(如 `dnf install firewalld`)。 2. **服务被屏蔽(masked)**: 服务被强制禁用,需解除屏蔽:`sudo systemctl unmask firewalld`。 3. **未启用服务**: 服务虽存在但未启用,需执行:`sudo systemctl enable --now firewalld`。 --- ### 建议操作步骤: 1. **检查 firewalld 是否安装**: ```bash rpm -q firewalld # CentOS/RHEL dpkg -l firewalld # Debian/Ubuntu ``` - 若未安装,使用包管理器安装。 2. **尝试加载并启动服务**: ```bash sudo systemctl start firewalld ``` - 若报错“单元不存在”,说明服务未安装。 3. **进一步排查**: - 查看服务状态:`systemctl status firewalld` - 检查是否被屏蔽:`systemctl is-enabled firewalld` --- ### 总结: - **翻译**:`firewalld 服务单元未被加载。` - **本质**:系统未正确识别 firewalld 服务,需通过安装、启用或解除屏蔽解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值