为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PIPIONE 2019-03-01 10:27:31
依赖多个版本的同一个jar包,有办法可以做到多版本并存么? 比如以前的代码依赖poi 3.9 新增的功能依赖poi 3.16,但是会对以前的代码有破坏,如何处理?
查看完整描述

6 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

在JVM通过包名+类名唯一确定一个类,一个类的定义只有一种,所以不可能存在多版本同一个jar包共存的方法。

可能很多人鄙视我,但是这是一个维护项目,以前的代码估计至少有5年了,经过了无数人的手,而且没有单元测试,重构风险很大。添加的新功能仅仅是一点点小改动,我觉得并不值去重构。

我解决的方法是把新功能打包成一个可以命令行执行的Jar包,通过传入参数来完成调用,通过返回值来判断是否执行成功。

java -jar poitest.jar xxxx.docx  xxxx.docx
查看完整回答
反对 回复 2019-03-01
?
慕村225694

TA贡献1880条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-01
?
当年话下

TA贡献1890条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-03-01
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-01
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

不行,只能指定一个版本,否则会产生jar包冲突问题

查看完整回答
反对 回复 2019-03-01
  • 6 回答
  • 0 关注
  • 1839 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信