最近遇到jar包冲突了,很郁闷。jar包冲突一般是这么发生的:
假设有一个开源组件库,everyone_depends_me.jar,因为很好用,所以大家都用它。第三方组件A和B都用到它了
组件A用到了everyone_depends_me-1.1.jar里面的methodA()方法,并将自己也以jar包方式发布,叫component_a.jar
组件B用到了everyone_depends_me-1.2.jar里面的methodB()方法,但是1.2版已经没有methodA()方法了。组件B也将自己以jar包方式发布,叫component_b.jar
现在我们的项目需要同时用到组件A和组件B,这个时候jar包冲突就出现了。
如果使用everyone_depends_me-1.1.jar,那组件B就用不上了,因为没有它需要的methodB()方法,反之如果使用everyone_depends_me-1.2.jar,组件A就用不了了
开发新项目,应该在一开始就把jar包依赖的问题处理好,避免到后期再发现就麻烦了。这要求在项目开始的时候,就先确定下来,并以DEMO进行验证,及早发现风险
不过这次的遗留系统,就是到后期才发现这个事情,十分纠结。遇到这种情况,大家都怎么办的?
jar包冲突啦
猜你喜欢
转载自kyfxbl.iteye.com/blog/1463586
今日推荐
周排行