解决Tomcat启动报错:严重:Unable to process Jar entry [META-INF/versions/9/module-info.class]

 更新时间:2023年12月01日 09:27:42   作者:三省同学  
这篇文章主要介绍了解决Tomcat启动报错:严重:Unable to process Jar entry [META-INF/versions/9/module-info.class]问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

报错

启动有报错,但不影响使用,本着不放过任何一个错误的原则来解决下

报错代码:

严重: 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)

解决

因为不影响使用,所以我们可以在启动Tomcat时需要跳过检查的jar包。

通过tomcat.util.scan.StandardJarScanFilter.jarsToSkip参数实现

打开如下目录文件

tomcat\conf\catalina.properties

tomcat.util.scan.StandardJarScanFilter.jarsToSkip节点增加log4j-api-2.16.0.jar


在这里插入图片描述

重启启动tomcat无报错。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • tomcat如何配置保存7天滚动日志

    tomcat如何配置保存7天滚动日志

    本文介绍了如何在Tomcat中配置logging.properties文件,以实现catalina.out日志按天滚动并保留7天的功能,配置步骤包括备份原始文件、修改配置文件、重启Tomcat等,通过这些步骤,可以确保日志文件定期滚动,并自动删除超过7天的日志,感兴趣的朋友一起看看吧
    2025-02-02
  • Tomcat启动报错子容器启动失败问题及解决

    Tomcat启动报错子容器启动失败问题及解决

    这篇文章主要介绍了Tomcat启动报错子容器启动失败问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 如何将tomcat源码以maven方式运行

    如何将tomcat源码以maven方式运行

    这篇文章主要介绍了如何将tomcat源码以maven方式运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Tomcat打破双亲委派机制实现隔离Web应用的方法

    Tomcat打破双亲委派机制实现隔离Web应用的方法

    本文主要介绍了Tomcat打破双亲委派机制实现隔离Web应用的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 通过prometheus监控Tomcat运行状态的操作流程

    通过prometheus监控Tomcat运行状态的操作流程

    文章介绍了如何安装和配置Tomcat,并使用Prometheus和Tomcat Exporter来监控Tomcat的运行状态,文章详细讲解了Tomcat的常用指标,如连接、请求、会话和线程指标,并提供了具体的计算方法和示例,需要的朋友可以参考下
    2025-02-02
  • 如何修改Tomcat默认访问根目录

    如何修改Tomcat默认访问根目录

    文章描述了如何在Tomcat中配置和访问webapps/guanwang目录下的文件,在Linux和Windows系统中,配置方法相同,只是文件夹地址有所差别,在该目录下上传了一个文本文件,可以直接访问其内容
    2024-12-12
  • tomcat获取执行的线程池信息和线程堆栈的方法详解

    tomcat获取执行的线程池信息和线程堆栈的方法详解

    这篇文章主要给大家介绍了tomcat获取执行的线程池信息和线程堆栈的方法,文章通过代码示例介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • redission-tomcat快速实现从单机部署到多机部署详解

    redission-tomcat快速实现从单机部署到多机部署详解

    这篇文章主要介绍了redission-tomcat快速实现从单机部署到多机部署详解,本文介绍一个基于redis的tomcat session管理开源项目:redission-tomcat,可无代码侵入式地快速实现session共享,需要的朋友可以参考下
    2019-06-06
  • Tomcat starup.bat脚本开机自启动的实现

    Tomcat starup.bat脚本开机自启动的实现

    本文主要介绍了Tomcat starup.bat脚本开机自启动的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 浅谈Tomcat中<Context>标签的使用方式和注意事项

    浅谈Tomcat中<Context>标签的使用方式和注意事项

    本文主要介绍了浅谈Tomcat中<Context>标签的使用方式和注意事项,Context标签可以设置Tomcat默认项目,设置项目的浏览器访问路径,让项目修改后自动重新编译部署,感兴趣的可以了解下
    2023-11-11

最新评论