org.apache.tomcat.util.bcel.classfile.ClassFormatException: It is not a Java .class file

Tomcat启动时输出以下错误:

24-May-2015 14:47:07.441 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [com/auth/spring/listener/SpringLoaderListener.class] from Jar [jar:file:/opt/apache-tomcat-8.0.22/webapps/ROOT/WEB-INF/lib/xinghe-core-2.0.jar!/] for annotations
 org.apache.tomcat.util.bcel.classfile.ClassFormatException: It is not a Java .class file
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readID(ClassParser.java:203)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:80)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2011)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1961)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1936)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1897)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1149)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)
    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:5066)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1786)
    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)

导致该错误的原因是.class文件加密了,而解密的时候没有能够正确解密,导致了该问题。

时间: 2024-08-01 00:47:57

org.apache.tomcat.util.bcel.classfile.ClassFormatException: It is not a Java .class file的相关文章

org.apache.tomcat.util.bcel.classfile.ClassFormatException: null is not a Java .class file

org.apache.tomcat.util.bcel.classfile.ClassFormatException: null is not a Java .class file 在$TOMCAT_HOME/conf/catalina.properties文件 的tomcat.util.scan.DefaultJarScanner.jarsToSkip中添加DB2驱动的Jar包文件名如”db2jcc4.jar” 即可.

记录一次tomcat问题排查记录:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

最近项目升级jdk,从jdk7 升级到 jdk8,本地已经自测完成了,需要部署到测试环境,测试环境已经装好 jdk8 了,但是tomcat 的版本还是 7.不过,据我之前了解,tomcat7是可以运行JDK8编译的web工程的,只要tomcat的运行环境的JDK是1.8即可.但是不能有比JDK1.8还要新的特性.所以最终决定不升级 tomcat 版本. 等我把项目部署到 测试环境 tomcat 下后,项目是可以跑起来的且能正常运行,但是在项目启动过程中,报了一堆错: SEVERE: Unable

org.apache.tomcat.util.net.NioEndpoint,打开的文件过多

错误信息: 27-Mar-2019 04:20:20.430 严重 [http-nio-8100-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed java.io.IOException: 打开的文件过多 at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) at sun.nio.ch.ServerSocket

java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager

java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager 问题: 使用Springboot打包为war部署于Tomcat7中报错 java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.get

Spring Boot常见问题(二)Unable to start embedded container; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;

问题描述:通过Spring Boot官方提供的方式,写出如下HelloWorld代码. @Controller @EnableAutoConfiguration public class HelloWorld { @RequestMapping("/wu") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exce

启动tomcat直接报错:org.apache.tomcat.util.digester.Digester startElement

今天很奇怪,自己手动搭建了一个ssm(spring+springmvc+mybatis)的项目,然后添加到tomcat下,启动直接报错: 2017-3-19 9:24:47 org.apache.tomcat.util.digester.Digester startElement严重: Begin event threw errorjava.lang.ExceptionInInitializerError at sun.reflect.NativeConstructorAccessorImpl.

org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0]

错误: 在 IDEA 创建WEB项目之后,打印出的日志中总是出现一行警告信息: 12-May-2018 15:52:30.692 警告 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0].Default version will be used. 原因: 当前Tomcat8.5不支持Web4.0版本,那要么降低W

Tomcat 部署 The APR based Apache Tomcat Native ...

Tomcat启动时提示org.apache.catalina.core.AprLifecycleListener- ApacheTomcatJavaJNIIE 网上针对此问题提供的文章很多,但多数和我遇到的情况有出入,所以我将其记录于此 最近开发中需要使用Tomcat,随意找来个较新的版本6.0.20就用.发现启动时提示: "2010-5-12 18:06:06 org.apache.catalina.core.AprLifecycleListener init 信息: The APR base

CVE-2014-0050: Exploit with Boundaries, Loops without Boundaries、Apache Commons FileUpload and Apache Tomcat DoS

catalog 1. Description 2. Analysis 3. POC 4. Solution 1. Description MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products, allows remote attackers to cause a denial of service (infini