奇怪问题:Jersey 竟然报加载fastjson 的错误:java.lang.NoSuchFieldError: UTF8

今天同事遇到一个奇怪的问题(项目是spring-cloud,集成了Fastjson工具),错误图如下:

奇怪问题:Jersey 竟然报加载fastjson 的错误:java.lang.NoSuchFieldError: UTF8_第1张图片

看了下很奇怪,其他工程都是同样的结构,都没不会报这样的错误。

为什么jersey会跟fastjson有关联呢?

用的jersey的版本是1.19.1,fastjson是1.2.58,初步怀疑是2者版本不兼容。

查了下fastjson的资料,原来是fastjson在1.2.36后,加入JerseyAutoDiscoverable的实现,在jersey启动的时候,会自动去加载FastJsonProvider。

由于当前项目的jersey版本不能升级,将fastjson的版本降为1.2.32,问题解决。

总结:遇到这种问题,选择检查项目中的jar包是否有冲突,有选解决。

 

 

你可能感兴趣的:(修行随笔,Jersey,fastjson,UTF8,spring-cloud)