2011-08-08 18 views
1

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

+2

Java 1.8? WTH? Apache Commons需要Java 1.5(又名Java 5)。 –

+0

我的意思是一段时间后Java将会是1.8。 – 5YrsLaterDBA

回答

5

一般来说Java是完全向后兼容的,所以如果你开始使用例如JSE1.6中的commons-io也将在JSE1.8中运行。从1999年开始使用Java,我从来没有看到任何关于向后兼容性的问题。

编辑:只要Oracle不更改其兼容性策略,就不会遇到麻烦。如果您后来遇到麻烦,您仍然有权自行解决问题(但可能需要根据许可证给社区回馈)。

2

Apache Commons项目比JDK更经常更新。我强烈建议让你的库保持最新状态。即使只是为了获得最新的修复。这也可以解决JDK版本可能出现的任何问题(这些问题可以向后兼容,并且多年来变化很小,可以认为是相当稳定的)。

0

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

我唯一见过的这种情况在Apache Commons,Jakarta Anything或Spring中是真的,当时一个版本使用了新的JVM和/或编译器特性。例如,Spring 2.5有几个罐子,分别为1.5和更新,这意味着理论上他们将通过Java 8工作在Java 5上,没有任何平台引起的错误。你不能在Java 3或4虚拟机上使用它们。

无论如何,这在整个Java社区都是非常常见的。 JavaEE兼容性可能会中断,因为它是库兼容性和开发方法的问题。

相关问题