1. 程式人生 > >還想免費繼續使用JDK嗎?從java11以後別從Oracle下載了

還想免費繼續使用JDK嗎?從java11以後別從Oracle下載了

Java生態系統一直以來是建立在一個高質量的免費(零成本)JDK之上的,它可以從甲骨文(Oracle)和以前的Sun獲得。 今天的情況和以前一樣。

Java現在每六個月釋出一次版本,這個版本是指提供帶有安全補丁和重要bug修復的更新版本。到目前為止,包括Java 8在內,已經提供了多年的免費支援,當使用Java 9以及遭遇六個月的釋出週期時,這種免費的支援現在被控制得更嚴格了。

事實上,從Java 11開始,甲骨文將不會為Java提供免費的長期支援(Lts)。

下面是各個JAVA版本釋出日期和免費結束日期。

[ code]

版本 釋出日期 甲骨文免費支援結束

Java 8 2014年3月 2019年1月(商業用途)

Java 9 2017年9月 2018年3月

Java 10 2018年3月 2018年9月

Java 11 2018年9月 2019年3月(可能延長)

Java 12 2019年3月 2019年9月

[/code]

理由很簡單,甲骨文希望將精力集中在推動Java向前發展上,其成本是由客戶直接支付的長期支援費用(而不是免費贈送),要做到這一點,他們需要開發人員不斷升級他們的Java版本,每六個月移動一次版本(並在兩者之間獲取補丁版本)。

當然,對於大多數開發者來說,這種快速升級是不可行的,但是Java現在已經被開源為OpenJDK,這意味著Oracle的免費結束支援日期並不是令人擔心的日期。

OpenJDK

需要注意的一點是,世界上大多數jdk構建版本都是基於開放原始碼的OpenJDK專案,Oracle JDK只是基於OpenJDK程式碼庫的許多構建版本之一,雖然以前Oracle在JDK中有額外的額外功能,但是Java 11已經不再是這種情況了。

許多其他供應商也提供基於OpenJDK程式碼的構建版本,這些版本可能具有額外的品牌和/或額外的非核心功能, 這些供應商中的大多數還會對OpenJDK專案做出貢獻,包括安全補丁。

關鍵是,你使用的JDK應該是主動做出的選擇,還是被動地接受 ?你能多快得到安全補丁?會支援多久?是否需要向供應商施加合同壓力以幫助解決任何問題?

獲得JDK的方法主要有兩種, 第一種是作業系統中的更新機制(例如*nix), 第二種方法是訪問URL並下載二進位制檔案。

為了進一步研究這一點,讓我們分別看一下Java 8和Java 11。

停留在Java 8上

如果您想在2019年1月之後繼續使用Java 8,下面是我所看到的選擇:

1)不關心安全。

這是完全有可能永遠停留在最後的免費發行版, 當黑客摧毀你的公司 不要抱怨 。

2)依賴作業系統更新。

在*nix平臺上,您很可能通過作業系統獲得JDK,JDK的更新是通過作業系統供應商交付的。 這是RedHat參與的關鍵-他們承諾 在RedHatEnterpriseLinux中Java 8更新直到2023年6月-但是他們也有一個“上游優先”策略,這意味著他們更願意將補丁推回“上游”OpenJDK專案。 您是否獲得到JDK的安全修補程式將取決於您的作業系統供應商,以及是否需要為這些更新支付費用。

3)支付服務費。

一些公司通過收費提供對Java的持續支援,可以訪問安全補丁流並使用某些保證更新發布版本(而不是志願者主導的方法)。 如果您有現金,那麼支付Java可能是公平和合理的?

4)在商業環境下使用非商業架構。

甲骨文提供構建Java 8的非商業用途,直到2019年12月,所以你可以一直使用到那個日期為止,之後你想讓甲骨文的軟體授權團隊追著你嗎?

5)自己構建OpenJDK。

安全修補程式流通過跟蹤GPL許可下的公共Mercurial儲存庫的提交,完全有可能自己構建OpenJDK。 對於大多數公司來說, 這可能是一個非常現實的選擇。

6)使用AdoptOpenJDK的構建。

社群團隊AdoptOpenJDK在過去的幾年裡,他們一直在忙著建立一個構建版本和測試平臺。 因此,他們現在能夠獲取安全補丁的流*並將它們轉換成釋出版本,就像你從商業產品中獲得的一樣。 他們還在執行Java TCK(測試相容性工具包),以允許這些構建被完全認證為Java SE。 他們的計劃是在Java 8構建之前生產Java 8版本,直到2022年9月在Java 17釋出一年後結束,這是一個社群構建農場專案, 但對於大多數不想付費使用Java 8的使用者來說,這可能是最好的選擇。

請注意,Azul還提供免費的OpenJDK版本構建zulu.org.

*最後兩個選項假設,一旦Oracle停止,一個小組實際上會向前邁進,接管“JDK 8 Updates”OpenJDK專案, 確切的專案細節尚未確定時,IBM宣告表明了對該方法的真正支援如下:

認識到釋出週期的變化對Java開發人員的影響,IBM將與OpenJDK社群的其他成員合作,繼續更新OpenJDK Java 8流,並使用安全補丁和關鍵的bug修復。我們打算在4年內保持當前LTS版本的安全性和高質量。這個時間尺度縮小了LTS版本之間的差距,為遷移提供了一年的時間。IBM還與許多合作伙伴和Java領導者一起投資於一個開放的構建和測試專案(AdoptOpenJDK.net),以便在OpenJDK和Eclipse OpenJ 9的常用平臺上提供社群二進位制檔案。這些社群二進位制檔案經過TCK(Java SE規範)的遵從性測試,可供開發人員在生產中下載和使用。

考慮到他們2023年6月的支援日期和“上游第一”政策,也很難看到紅帽沒有對這一努力做出貢獻。

停留在Java 9或Java 10上?

還是不要吧

沒有人會為Java 9或Java 10提供構建或支援,無論如何,我認為沒有理由不升級到Java 11。

停留在Java 11上?

這是一個美好的新世界,並不是百分之百清楚事情會發生的樣子。

首先,尚不清楚是否會有免費下載的Oracle JDK。

但在現實中,甲骨文JDK是否免費下載並不重要。 這是因為在Java 11中,開發人員可以將Oracle JDK和OpenJDK視為等價的, 認為OpenJDK構建版本是次要的還是次要的不再是合適或正確的。 事實上,現在最重要的構建版本是OpenJDK。

更確切地說,在釋出日期之前,Java 11開發人員應該考慮使用jdk.java.net若要獲得二進位制下載,請不要在Oracle.com.

那麼,Oracle將為Java 11提供安全補丁多長時間?

同樣,這方面的答案並非百分之百清楚。

總結

所有的部分都已經就緒,Java 11可以作為一個長期的支援版本來維護,但是,與Java 6、7和8不同的是,甲骨文將不會領導長期的支援工作。 很有可能紅帽將接管這項任務-他們公開表示願意。

在Java 11生命的頭6個月,甲骨文將提供gpl許可的免費零成本下載jdk.java.net有安全補丁。

為了在頭六個月後獲得GPL許可的免費零成本更新版本,您可能需要從不同的URL和不同的構建團隊獲得它們。AdoptOpenJDK構建場是尋找那些建築的地方,但是zulu.org是另一種可能性。

大家可以點選加入群:【Java高階架構進階群】 裡面有Java高階大牛直播講解知識點 走的就是高階路線,(如果你想跳槽換工作 但是技術又不夠 或者工作上遇到了瓶頸 ,我這裡有一個JAVA的免費直播課程 ,講的是高階的知識點基礎不好的誤入喲,只要你有1-5年的開發經驗可以加群找我要課堂連結 注意:是免費的 沒有開發經驗誤入哦)
點選連結加入群聊【Java高階架構進階群】:https://jq.qq.com/?_wv=1027&k=5boh69f

寫在最後:歡迎留言討論,加關注,持續更新!!!