本质上是依赖版本冲突。
如:jackson-databind-2.11.2(版本太低,需要升级版本)
jackson-core-2.12.6
jackson-dataformat-xml-2.12.6
idea用Analyze Dependencies插件
复制对应的groupId和artifactId放到exclusion里面
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
先排除低版本的依赖,再引入高版本的依赖。
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>version</version>
<!-- 先排除低版本的依赖,再引入相同的高版本的依赖 -->
<exclusions>
<exclusion>
<!-- 2.11.2 -->
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入正确版本的包,如:2.11.2升级到和jackson-core、jackson-dataformat-xml相同的版本2.12.6 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.6</version>
</dependency>
注意:可能会有很多个包都会有这种情况,多个包都要先排除低版本的依赖,再引入相同的高版本的依赖。