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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章