Apache Commons项目与Java版本捆绑在一起吗?



我有一个关于Apache Commons projects的问题。我们知道在Apache Commons Projects中有许多很好的类和方法。但我认为它与特定的Java版本有关。如果我现在开始使用Apache Commons项目,当Java更新到1.8时,我必须确保Apache Commons项目在更新到Java 1.8版本之前具有类似的更新?拥有一些第三方库是一件好事,但我总是担心它们与我使用的主要编程语言之间的兼容性。

一般来说,Java是完全向后兼容的,所以如果你开始在JSE1.6中使用common -io,它也可以在JSE1.8中工作。从1999年开始使用Java,我从未见过任何关于向后兼容性的问题。

编辑:只要Oracle不改变它的兼容性策略,你应该不会遇到麻烦。如果您以后遇到了麻烦,您仍然有源代码可以自己修复它(但可能必须根据许可证将其回馈给社区)。

Apache Commons项目的更新要比JDK频繁得多。我强烈建议你们保持图书馆的更新。即使只是为了得到最新的修复。这也将处理JDK版本可能出现的任何问题(这些版本向后兼容,多年来变化很小,可以认为相当稳定)。

但是我认为它与特定的Java版本有关。

在Apache Commons、Jakarta Anything或Spring中,我所见过的唯一情况是当一个版本使用了新的JVM和/或编译器特性时。例如,spring2.5有几个适用于1.5及更新版本的jar,这意味着从理论上讲,它们可以在Java 5到Java 8上工作,而不会出现平台导致的任何错误。你只是不能在Java 3或4虚拟机上使用它们。

这几乎是整个Java社区的标准,至少对于SE来说是这样。JavaEE兼容性可能会中断,因为这是库兼容性和开发方法的问题。

相关内容

最新更新