【问题标题】:Is commons-lang3 3.4 backward compatible respect to 3.1commons-lang3 3.4 是否向后兼容 3.1
【发布时间】:2016-03-30 01:20:50
【问题描述】:
我有一个maven项目,有很多依赖,其中两个primefaces-extensions和hapi-fhir-base,它们都需要commons-lang3,但是primefaces将3.1版本声明为依赖,但是hapi需要>= 3.2。如果将 3.1 声明为依赖版本,可以安全地假设 commons-lang3 3.4 对 primefaces 没问题吗?
【问题讨论】:
标签:
hapi-fhir
apache-commons-lang3
【解决方案1】:
见release notes:
为了 3.4 与 3.3.x 的兼容性:
Commons Lang 3.4 与上一个版本完全二进制兼容,并且
因此可以用作 3.3.2 的替代品。
对于 3.3.x 到 3.1:
此版本引入了向后不兼容的更改
org.apache.commons.lang3.time.FastDateFormat:
方法'protected java.util.List parsePattern()'已被删除
方法 'protected java.lang.String parseToken(java.lang.String, int[])' 已被移除
方法 'protected org.apache.commons.lang3.time.FastDateFormat$NumberRule. selectNumberRule(int, int)' 已被移除
这些更改是 [LANG-462] 的结果。假设这
改变不会破坏客户
所以它应该可以工作,只要 FastDateFormat 中的更改不会破坏您的代码,开发人员认为这是不可能的。