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