番石榴二进制版与以前的版本兼容吗?

Rum*_*mca 9 java backwards-compatibility binary-compatibility guava

Guava README说@Beta或者已经弃用了可以更改,删除等等.它没有说清楚所有剩余的类是否与以前的版本二进制兼容(或者我误读了它).虽然我没有另外说明,但我觉得它是向后兼容的.

我担心的是,其他一些库可能会对新的番石榴版本起作用(并编译).但它也可能依赖于新版本可能已更改/修复的一些错误行为,这些行为无法轻易检测到.我可以安全升级吗?

lin*_*ild 18

我在这里准备了Guava库版本的向后兼容性报告:http://abi-laboratory.pro/java/tracker/timeline/guava/

该报告由japi-compliance-checkerjapi-tracker工具生成.

在此输入图像描述


Kev*_*ion 7

我们坚持不懈地维护所有非Beta版API的二进制和源兼容性,除了删除已经弃用至少18个月的方法.

我们将继续这个标准,虽然我们开始承认JDK 8过渡将使我们在这方面前所未有的挑战的可能性,这是可能的,我们可能被迫在未来一个稍微不兼容的升级事件.我仍然希望没有必要.

  • 为什么guava决定删除方法删除已弃用的`方法`?甚至JDK也不这样做.是什么推动了这一决策? (3认同)