猿问

依赖多个版本的同一个jar包,有办法可以做到多版本并存么?

依赖多个版本的同一个jar包,有办法可以做到多版本并存么?

比如以前的代码依赖poi 3.9

新增的功能依赖poi 3.16,但是会对以前的代码有破坏,如何处理?

PIPIONE
浏览 1840回答 6
6回答

波斯汪

在JVM通过包名+类名唯一确定一个类,一个类的定义只有一种,所以不可能存在多版本同一个jar包共存的方法。 可能很多人鄙视我,但是这是一个维护项目,以前的代码估计至少有5年了,经过了无数人的手,而且没有单元测试,重构风险很大。添加的新功能仅仅是一点点小改动,我觉得并不值去重构。 我解决的方法是把新功能打包成一个可以命令行执行的Jar包,通过传入参数来完成调用,通过返回值来判断是否执行成功。 java -jar poitest.jar xxxx.docx xxxx.docx

慕村225694

即使能 hack 出来,我也不想这么做。重构吧。

当年话下

并不能多版本共存,那只会冲突。直接更新旧代码咯,能咋办

鸿蒙传说

如何处理?改以前旧版本的代码啊?

翻过高山走不出你

不行,只能指定一个版本,否则会产生jar包冲突问题
随时随地看视频慕课网APP

相关分类

Java
我要回答