jar包冲突啦

最近遇到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进行验证,及早发现风险

不过这次的遗留系统,就是到后期才发现这个事情,十分纠结。遇到这种情况,大家都怎么办的?


猜你喜欢

转载自kyfxbl.iteye.com/blog/1463586
今日推荐