2011-08-08 23 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兼容性可能會中斷,因爲它是庫兼容性和開發方法的問題。

相關問題