解决类加载冲突和pandora
项目开发中,我们会引入框架、工具类、SDK等依赖,这些依赖的包也会有依赖,层层嵌套。一个比较关键的问题是,如果不同依赖,都引用相同的一个底层依赖,但是是不同版本,就会出现引用冲突。
如下图,一个项目引入了Diamond 2.3.4
、HSF 1.2.3
、FastJson 1.2.0
共3个组件。Diamond组件引入FastJson 1.1.0
,HSF组件引入FastJson 1.0.0
。当我们使用com.alibaba.fastjson.JSON.toJSONString(data)方法的时候,到底调用的是FastJson 1.0.0
的方法、FastJson 1.1.0
的方法,还是FastJson 1.2.0
的方法呢?