dependency version collision problem# Java - 爪哇娇娃
F*n
1 楼
这个多年来一直是个头痛的问题, 经常碰到 dependencies 里 A 用了 C-version1, B
用了C-version2, 如果C-version1和C-version2不兼容将会产生Runtime Errors。根源
还是API设计有错误, 如果两个版本的CLASS, MEHODS不兼容, 那就应该改名而不是用同
一个名字。
目前我的solution是把source code找来全部Rename,SUN自己也是这么干的,非常Ugly
, 不知道有什么更好的办法。一个办法是在JVM level 对 identifiers 加namespace,
但显然这需要改Java Spec.
用了C-version2, 如果C-version1和C-version2不兼容将会产生Runtime Errors。根源
还是API设计有错误, 如果两个版本的CLASS, MEHODS不兼容, 那就应该改名而不是用同
一个名字。
目前我的solution是把source code找来全部Rename,SUN自己也是这么干的,非常Ugly
, 不知道有什么更好的办法。一个办法是在JVM level 对 identifiers 加namespace,
但显然这需要改Java Spec.