欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tomcat启动报错:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant

程序员文章站 2022-07-14 10:42:22
...

项目之前启动都没这个问题,突然启动时就有这个错误了:
tomcat启动报错:org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant

看报错信息有提示从jackson-annotations报出来的。

细想,自己最近也没有动这个包的依赖呀

然后在网上看了资料,原因时:依赖包依赖有jdk1.9的语法信息,tomcat8.x解析不了

知道问题,就好找解决方案,有两个解决方式:
1.提高tomcat的版本到tomcat9.x
2.找到包含jdk1.9语法的jar包,降低它的版本。

我是采用了第二种,我的情况是将升级了另外一个jar包的版本,这个jar里面依赖了jackson-databind,并且升级了jackson版本,我将jar里面依赖的jackson给排除了,然后加上低版本的jackson依赖。

排除依赖:

<exclusions>
	<exclusion>
		<groupId>org.ow2.asm</groupId>
		<artifactId>asm</artifactId>
	</exclusion>
	<exclusion>
		<groupId>org.slf4j</groupId>
		<artifactId>jcl-over-slf4j</artifactId>
	</exclusion>
</exclusions>

增加依赖:

<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
	<version>2.9.9</version>
</dependency>
<dependency>
	<groupId>com.fasterxml.jackson.dataformat</groupId>
	<artifactId>jackson-dataformat-xml</artifactId>
	<version>2.9.9</version>
</dependency>
相关标签: 问题记录