com.fasterxml.jackson.annotation.JsonFormat$Value.empty()Lcom/fasterxml/jackson/annotation/JsonForma

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mingyundezuoan/article/details/83996612

异常信息

com.fasterxml.jackson.annotation.JsonFormat V a l u e . e m p t y ( ) L c o m / f a s t e r x m l / j a c k s o n / a n n o t a t i o n / J s o n F o r m a t Value.empty()Lcom/fasterxml/jackson/annotation/JsonFormat Value;


异常场景

  • 系统A发布到生产环境,运行时出现上述异常;测试环境无法复现
  • 检查当日上线代码,重点关注依赖引用及版本变更
    • faster相关依赖无变更
    • 修改了内部系统B的依赖的版本号码

排查步骤

  • 检查是否MAVEN依赖冲突
  • 检查是否MAVEN依赖重复
    • mvn -X compile dependency:tree -Dverbose >a.log
    • 查看文件中是否有 conflict 标记的JAR包依赖

异常解决

  • B系统中新增了fastJson的引用,升级了B的版本号,A引用B,间接引用了fastjson的依赖,与A中已有的发生冲突
  • A 中 pom.xml文件中引入B依赖的位置增加 exclude 去掉 fastjson相关依赖
<exclusion> 	
	<groupId>com.fasterxml.jackson.core</groupId> 
	<artifactId>jackson-core</artifactId> 
</exclusion> 
<exclusion> 
	<groupId>com.fasterxml.jackson.core</groupId> 
	<artifactId>jackson-databind</artifactId> 
</exclusion>

异常反思

  • 轻量级引用,fastJson 引用其中一个即可,避免引用混乱或版本升级时造成其他意想不到的异常

猜你喜欢

转载自blog.csdn.net/mingyundezuoan/article/details/83996612