質問: JavaのWEBアプリケーションを開発しようと思っています。 その際にJDKのバージョンを何を選択すれば良いか分からなく教えて頂けないでしょうか。 構成として次のように考えています。 フレームワーク:SpringBoot データベース:Oracle 19C ミドルウェア:Apache-Tomcat ブラウザ:ChromeかEdge Java:なるべく新しく、安定しているもの。無償版 その他:マスタデータを登録更新するシステムで、複雑なことは考えていません。 追記)APサーバ、DBサーバ共にOSはWindowsServer2016です。
回答: あくまで、参考レベルでその条件での私だったらの判断です。 各構成で必要なJDKバージョンを洗い出します。 Spring Boot * ver.2.3.0(2020/5にリリース):JDK14サポート(LTSのJDK8,11は完全サポート) * ver 2.2.0:JDK13サポート(LTSのJDK8,11は完全サポート) Oracle 19C * JDBC : ojdbc8.jarを使用(対応JDK8以降) Tomcat * Ver.10(Alpha) : 対応JDK8以降 * Ver.9 : 対応JDK8以降 Java * OracleJDK : Java 11以降の「Oracle JDK(LTS版)」は、Oracle社と有償サポート契約を結んだユーザーにのみ提供されるようになる。 * OpenJDK : Java 11から「Oracle JDK」と同じ機能と品質を備えたオープンソース実装「OpenJDK」がリリースされバイナリが無償で提供される。 各JDKの比較 こうまとめてみると、JDK8以降なら各プロダクトは動くことがわかります。 ただ、Javaの商用問題があるので、JDK11以降であればOracleとOpenJDKの機能差異は小さくすることができます。 (同等とは思いますが、正式採用時にOracle版に切り替えた際には、動作検証は必要と考える) 以上を踏まえて。。JDK11以降の新機能を使用するなどなければ 私であれば、安定寄りにJDK11にすると思います。 参考までに。