Oracle 宣佈 Java 7 生命週期終結

InfoQ - 段珊珊發表於2015-05-09

Oracle 於 2015 年 4 月停止在公共渠道釋出 Java 7 安全補丁和升級包,以敦促使用者遷移至 Java 8 或購買 Java 7 的長期商業支援服務。後續可能有其它第三方機構為其提供公共更新。

這次計劃內的 EOL(end-of-life)最初於2014 年 3 月宣佈,並且預計不會對普通使用者產生影響(Oracle 在 2015 年 1 月就啟動了從 Java 7 到 8 的自動更新),但 Java 開發者和高階使用者也許會碰到一些問題。很多工具和庫仍然依賴於一些已在 Java 7 中標記為廢棄的功能特性,而這些特性在 Java 8 中則被完全移除了,由此導致這些工具與新版本的 Java 不相容,它們必須在使用者升級 Java 版本之前做相應的更改。

Oracle 不再發布更新並不表示 Java 7 完全不能用了,但這意味著 Oracle 不會為 Java 7 上未來可能發現的任何隱患和 漏洞提供補丁,從而使終端使用者面臨風險。也就是說那些仍在使用與 Java 8 不相容的工具的使用者要麼選擇繼續使用 Java 7 並接受潛在的風險,購買長期商業支援,要麼遷移到另一個工具。這使得壓力都轉移到工具開發者身上,尤其是那些開源專案的負責人,因為他們得把對專案的日常 職責與遷移至最新版 Java 的工作結合起來。身為 FamilySearch 的首席工程師同時也是 Enunciate 創始人的 Ryan Heaton 就是例子,Enunciate 是一個被廣泛使用的 Java 文件引擎工具,目前不能在 Java 8 上使用。

我覺得 Java 7 的 EOL 來得太快了。我本希望他們能再等一段時間,但是我也理解維護老版本產品和 API 的開銷太大。不過說實話,不管 Oracle 決定何時終止 Java 7,我可能都會覺得太快了。我得承認這促使我儘快更新自己的專案。

從另一方面來說,這次遷移只有一個選擇看起來似乎不同尋常,難道不應該在 Java 7 EOL 之前就釋出 Java 9 供使用者選擇嗎?

Oracle JVM的替代品

雖然 Oracle 的 JVM 最為流行,但它並不是唯一的 JVM。各種不同的機構和使用者群實現了許多 JVM,既有開源的也有專有的,分別提供不同級別的支援。比如 Azul Systems,它提供兩種帶有商業支援的 JVM,不僅為 Java 7 提供更新包,甚至還支援 Java 6.

相關文章