

JavaのWEBアプリケーションを開発しようと思っています。  
その際にJDKのバージョンを何を選択すれば良いか分からなく教えて頂けないでしょうか。

構成として次のように考えています。

フレームワーク：SpringBoot  
データベース：Oracle 19C  
ミドルウェア：Apache-Tomcat  
ブラウザ：ChromeかEdge  
Java：なるべく新しく、安定しているもの。無償版  
その他：マスタデータを登録更新するシステムで、複雑なことは考えていません。

追記）APサーバ、DBサーバ共にOSはWindowsServer2016です。


CC BY-SA 4.0
2020-11-26T23:13:39.890
72229
2020-11-28T04:03:52.203
2020-11-27T03:00:12.840
34875
34875
question
java spring-boot
JDKのバージョンをどう選択すれば良いですか？


あくまで、参考レベルでその条件での私だったらの判断です。

各構成で必要なJDKバージョンを洗い出します。

* * *

Spring Boot

  * ver.2.3.0（2020/5にリリース）：JDK14サポート(LTSのJDK8,11は完全サポート)
  * ver 2.2.0：JDK13サポート(LTSのJDK8,11は完全サポート)  
<https://spring.io/blog/2020/05/15/spring-boot-2-3-0-available-now>  
<https://spring.io/blog/2019/10/16/spring-boot-2-2-0>

Oracle 19C

  * JDBC : ojdbc8.jarを使用（対応JDK8以降）  
<https://docs.oracle.com/en/database/oracle/oracle-database/19/tdpjd/using-
java-with-oracle-database.html#GUID-8C73108B-E0F3-4CD5-A813-909B339339BB>

Tomcat

  * Ver.10(Alpha) : 対応JDK8以降
  * Ver.9 : 対応JDK8以降  
<https://tomcat.apache.org/whichversion.html>

Java

  * OracleJDK : Java 11以降の「Oracle JDK(LTS版)」は、Oracle社と有償サポート契約を結んだユーザーにのみ提供されるようになる。
  * OpenJDK : Java 11から「Oracle JDK」と同じ機能と品質を備えたオープンソース実装「OpenJDK」がリリースされバイナリが無償で提供される。  
  
各JDKの比較  
<https://www.ossnews.jp/compare/Oracle_JDK/OpenJDK>

* * *

こうまとめてみると、JDK8以降なら各プロダクトは動くことがわかります。  
ただ、Javaの商用問題があるので、JDK11以降であればOracleとOpenJDKの機能差異は小さくすることができます。  
（同等とは思いますが、正式採用時にOracle版に切り替えた際には、動作検証は必要と考える）

以上を踏まえて。。JDK11以降の新機能を使用するなどなければ  
私であれば、安定寄りにJDK11にすると思います。

参考までに。


CC BY-SA 4.0
2020-11-28T04:03:52.203
72250
2020-11-28T04:03:52.203
42886
72229
answer