Jdk和Spring Boot版本選擇


==========================
版本選擇的原則:
==========================
1. 優先選擇官方指定的long-term support(LTS)版本, 非LTS版本往往會引入較多實驗性的特性, 穩定性要比LTS要差一些, LTS版本生命周期甚至會比晚發行的非LTS版更長久.
2. 優先選擇純粹的bugfix版, 而不是那種有引入新特性的版本.
3. 如果不想跟最新的技術, 選擇上一個大版本的最后一個小版本, 這個小版本往往是一個比較穩定的版本, 比如Spring framework 當前版本是5.1, 我們可以選擇 4.3.22. 這里推薦使用 mvnrepository.com 網站找到這個小版本.
比如, spring framework 版本清單: https://mvnrepository.com/artifact/org.springframework/spring-core
再如, spring boot 版本清單: https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter


==========================
jdk 版本選擇:
==========================
jdk 8是 LTS 版, 下一個LTS版是 jdk 11, 從當前技術普及來看, 主流的仍是jdk8.
按照Oracle 官方的說法, Jdk 8u191/Jdk 8u192 Oracle官方同時推出的兩個最后免費jdk 8發行版, 這之后的java 8發行版理論上都需要付費. 對於 8u191 和 8u192, 更推薦使用 8u191 版. 原因是: 奇數編號的發行版僅包含經驗證的bug fix, 偶數編號的發行版不含經驗證和非經驗證的改進, 所以生產環境推薦使用奇數編號的發行版.

ps, jdk 10是一個很特別的版本, 它是第一個真正移除deprecated code的版本, 之前的jdk實際上並沒有真正移除那些過期api.

版本選擇: Oracle jdk 版本應該選擇jdk 8u191.

openjdk 是一個廠商中立的 jdk, 目前看是一個很好的選擇,  下載地址  https://adoptopenjdk.net


==========================
Spring Boot 版本
==========================
目前 Spring Boot 有三個重要分支: 1.5.x 和 2.0.x 和 2.1.x, 注意它們是三個分支, 比如 v2.1.1 並不能算作是 v2.0.8 的升級版, 實際上v2.1.1是早於 v2.0.8 版發布的, 這一點可以從發布歷史中得到驗證, 見 https://github.com/spring-projects/spring-boot/tags

Spring Boot 官方只是在一些官方的blog中零星提及某些版本的EOL, 沒有各版本maintenance roadmap.

下面是目前主要分支的EOL:
(1) 1.5.x 分支(主要依賴Spring framework 4.3), 將於2019年8月EOL, Spring framework 4.3.22 預計在2020年中EOL.
(2) 2.0.x 分支(主要依賴Spring framework 5.0.x), 將跟隨Spring 5.0.x 在2019年3月EOL.
(3) 2.1.x 分支(主要依賴Spring framework 5.1.x), 目前沒有設定EOL日期, 但Spring framework 5.1應該不是一個longer-lived 版本, 所以 2.1.x 分支的支持期應該也不會很長. 預計下一個基於 Spring framework 5.2 的Spring boot分支才是真正的longer-lived 版.

版本選擇: 官方建議使用v2.1.x版本, 但基於上面的簡單分析, Spring Boot 版本選擇就比較尷尬, 目前沒有一個版本特別合適最新的生產項目的開發, 好在2.1.x的最新版2.1.3是一個 bugfix 版, 所以推薦暫時采用2.1.3版.


Spring framework 各版支持時間:
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Versions

Spring boot 各版的release note:
https://github.com/spring-projects/spring-boot/wiki


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM