解決Tomcat啟動(dòng)報(bào)錯(cuò):嚴(yán)重:Unable?to?process?Jar?entry?[META-INF/versions/9/module-info.class]
報(bào)錯(cuò)
啟動(dòng)有報(bào)錯(cuò),但不影響使用,本著不放過(guò)任何一個(gè)錯(cuò)誤的原則來(lái)解決下
報(bào)錯(cuò)代碼:
嚴(yán)重: Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [jar:file:/G:/maven/repository/org/apache/logging/log4j/log4j-api/2.16.0/log4j-api-2.16.0.jar!/] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:97)
at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:54)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:174)
at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:83)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2119)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1981)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1942)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1927)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1332)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:888)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5522)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:679)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1966)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
解決
因?yàn)椴挥绊懯褂?,所以我們可以在啟?dòng)Tomcat時(shí)需要跳過(guò)檢查的jar包。
通過(guò)tomcat.util.scan.StandardJarScanFilter.jarsToSkip參數(shù)實(shí)現(xiàn)
打開(kāi)如下目錄文件
tomcat\conf\catalina.properties
tomcat.util.scan.StandardJarScanFilter.jarsToSkip節(jié)點(diǎn)增加log4j-api-2.16.0.jar
重啟啟動(dòng)tomcat無(wú)報(bào)錯(cuò)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Tomcat啟動(dòng)報(bào)錯(cuò)子容器啟動(dòng)失敗問(wèn)題及解決
這篇文章主要介紹了Tomcat啟動(dòng)報(bào)錯(cuò)子容器啟動(dòng)失敗問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Tomcat打破雙親委派機(jī)制實(shí)現(xiàn)隔離Web應(yīng)用的方法
本文主要介紹了Tomcat打破雙親委派機(jī)制實(shí)現(xiàn)隔離Web應(yīng)用的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08通過(guò)prometheus監(jiān)控Tomcat運(yùn)行狀態(tài)的操作流程
文章介紹了如何安裝和配置Tomcat,并使用Prometheus和Tomcat Exporter來(lái)監(jiān)控Tomcat的運(yùn)行狀態(tài),文章詳細(xì)講解了Tomcat的常用指標(biāo),如連接、請(qǐng)求、會(huì)話和線程指標(biāo),并提供了具體的計(jì)算方法和示例,需要的朋友可以參考下2025-02-02tomcat獲取執(zhí)行的線程池信息和線程堆棧的方法詳解
這篇文章主要給大家介紹了tomcat獲取執(zhí)行的線程池信息和線程堆棧的方法,文章通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-11-11redission-tomcat快速實(shí)現(xiàn)從單機(jī)部署到多機(jī)部署詳解
這篇文章主要介紹了redission-tomcat快速實(shí)現(xiàn)從單機(jī)部署到多機(jī)部署詳解,本文介紹一個(gè)基于redis的tomcat session管理開(kāi)源項(xiàng)目:redission-tomcat,可無(wú)代碼侵入式地快速實(shí)現(xiàn)session共享,需要的朋友可以參考下2019-06-06Tomcat starup.bat腳本開(kāi)機(jī)自啟動(dòng)的實(shí)現(xiàn)
本文主要介紹了Tomcat starup.bat腳本開(kāi)機(jī)自啟動(dòng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04淺談Tomcat中<Context>標(biāo)簽的使用方式和注意事項(xiàng)
本文主要介紹了淺談Tomcat中<Context>標(biāo)簽的使用方式和注意事項(xiàng),Context標(biāo)簽可以設(shè)置Tomcat默認(rèn)項(xiàng)目,設(shè)置項(xiàng)目的瀏覽器訪問(wèn)路徑,讓項(xiàng)目修改后自動(dòng)重新編譯部署,感興趣的可以了解下2023-11-11