记一次包冲突的解决

/ 默认分类 / 没有评论 / 411浏览

app后端管理接入了友盟,需要查看一些用户活跃度信息,添加了umeng-api-client-0.0.1-SNAPSHOT.jar依赖后,正常的服务报错,java.lang.NoClassDefFoundError: Could not initialize class xxx ,经过代码断点追踪,确认是jar冲突导致,因为友盟的包里也有fastjson内容,但是版本较老。而类加载的时候如果fastjson的类已经加载过了,那就不会再重新加载正确的fastjson,从而导致找不到类。

由于这个包是外部依赖,没有加入中央仓库,所以只需要修改源码,重新编译。 进入umeng.api.client.java.biz-sources.jar,删除其中fastjson,重新打包即可。