【Javaアップデート徹底解説①】どのJavaをインストールすべきか?

黄色い花の蜜を吸っている蝶々 情報技術の知恵
セキュリティ情報(重要)

2024年1月16日のセキュリティ・アップデートで、 Javaの脆弱性が公表されました(Oracle Java SE Risk Matrix)。それにより、脆弱性の対策を施した次のバージョンへの更新を推奨します。

  • 8u391 (or older) => 8u401 (or newer)
  • 11.0.21 (or older) => 11.0.22 (or newer)
  • 17.0.9 (or older) => 17.0.10 (or newer)
  • 21.0.1 (or older) => 21.0.2 (or newer)

無償のJavaで脆弱性対策アップデートをお考えの方は、次のJavaで対応可能です。(2024年1月19日現在)

  • OracleJDK
    • 17.0.10
    • 21.0.2
  • OracleJRE
    • 8u401
  • OpenJDK
    • 21.0.2
  • Eclipse Temurin JDK (旧AdoptOpenJDK)
    • 21.0.2
    • 17.0.10
    • 11.0.22
    • 8u402

Javaを必要とするアプリケーション、または、初めてのJavaプログラム開発で、どのJavaをインストールしたらいいのかかわからないとお悩みのあなた。

以前からJavaを使っていたが、無償サポートが終わってしまい、古いバージョンのJavaからアップデートできず、セキュリティの脆弱性のリスクにお悩みのあなた。

この記事はそんなあなたのために、Javaのロードマップに基づいて長期的な視点で徹底比較し、どのJavaにアップデートしたらいいのかおススメを解説しています。

「Javaアップデート徹底解説」は7つの記事から構成されています。

  • 【Javaアップデート徹底解説】の①~③はJava共通の事項
  • 【Javaアップデート徹底解説】の④~⑦はJava個別の事項

について解説しています。

第一回のこの記事では、オラクルによるJavaのライセンス状況、主要なJavaのロードマップのご紹介、Javaの比較表でそれぞれの違い、Javaの全体像を理解して、あなたに合ったJavaを見つけるのにお役に立てるように配慮いたしました。

さあ、この記事を参考にして、あなたのニーズあったJavaを見つけ、アップデートしましょう。

スポンサーリンク (Sponsored Links)

OracleJDKのライセンスの状況

最初に、オラクルのJavaに関するライセンス状況を確認しておきましょう。

2021年9月14日ライセンスに関するプレス・リリースがオラクルから発表されました。この発表でJDK 17のリリースと同時に「Oracle No-Fee Terms and Conditions 」(以下、「NFTC」と呼ぶ)いう新しいライセンスが公表されました。(詳細は下線部をクリックしてリンク先の原文:英語を参照)

  • 過去に、オラクル(合併吸収以前はサン・マイクロシステムズ)はJavaを無償提供していまいしたが、 2019年4月16日以降の長期サポート・リリースのOracle JDK (Java Development Kit)の商用使用にライセンス費用が必要としていました。

2021年9月14日のプレスリリースの発表では、これが「Oracle JDK 17と将来のJDKリリースは、次のLTS(Long-Term Support)リリースの1年後まで、無料で使用できるライセンス(NFTC)下で提供する」としています。

Javaのロードマップ

Javaは提供元やバージョンにより、いくつかの選択肢があります。

インストールするJavaの候補を絞り込むために、Javaの全体像をロードマップで把握しましょう。

OracleによるJavaのロードマップ

オラクルによるJDK(Java Development Kit)のリリースは次の通り。

  • 有償のOracleJDKは
    • 長期サポート・リリース版:3年ごと (例:OracleJDK8、OracleJDK11)
    • 半年ごとのリリース 版:半年ごと (例:OracleJDK20)
  • 無償ののOracleJDKは
    • 長期サポート・リリース版:3年ごと (例:OracleJDK17以降のLTSリリース)
  • 無償のOpenJDKは
    • 半年ごとのリリース 版:半年ごと (例:OpenJDK21)

Java開発元であるオラクルのJavaロードマップは次のようになっています。(2023年10月現在

オラクル Java ロードマップ (2023年10月現在)
オラクル Java ロードマップ (2023年10月現在)

Oracleによるクリティカル・パッチ・アップデート

セキュリティの脆弱性に対処するため、OracleはJavaをクリティカル・パッチ・アップデート(Critical Patch Update)として更新するスケジュールをウェブで公表しています。

最新のクリティカル・パッチ・アップデートは2024年1月16日で、それ以降の公表されているスケジュールは次のようになっています。

予定されているクリティカル・パッチ・アップデートのスケジュール
  • 2024年4月16日
  • 2024年7月16日
  • 2024年10月15日
  • 2025年1月21日

それぞれの予定日以降、Oracleをはじめとして、Javaのアップデートがありますので、最新の情報を確認しましょう。

Adoptium OpenJDK (旧AdoptOpenJDK)のロードマップ

Eclipse Adoptiumによるオープン・ソースで、無償で商用利用可能なAdoptium OpenJDK (Eclipse Temurin Java SE)のロードマップは次の通りです。 AdoptOpenJDKは Eclipse Adoptiumワーキング・グループの1プロジェクトであるEclipse Temurinに引き継がれ、OpenJDKとしてリリースされました。

  • 長期サポート版:Java21 (LTS)、Java17 (LTS)、Java11 (LTS)、Java8 (LTS)
  • 半年ごとのリリース版:Java22
AdoptiumOpenJDK ロードマップ
AdoptiumOpenJDK ロードマップ
ちょっとした豆知識(「AdoptOpenJDK」から「AdoptiumOpenJDK」へ)

2020年6月19日に「AdoptOpenJDK」プロジェクトは「Eclipse Foundation」に参加することを発表しました。

「AdoptOpenJDK」は「Eclipse Adoptium」に引き継がれて活動しています。

そして、2021年3月23日に「Adoptium」としてのロゴ、Webサイトやブログなどの新しい場所がブログで発表され、2021年8月13日以後、AdoptiumのウェブからAdoptium OpenJDK (Eclipse Temurin JavaSE)がダウンロードできるようになりました。

ロードマップやJavaのアップデートなどに関する情報は、下記で発表された新しいウェブから入手するようにしましょう。

Eclipse Adoptium Welcomes You | Adoptium
After months of hard work, the migration process has begun!

Javaの比較結果

Javaの代表的なリリース・バージョンに関して、サポート終了時期、サポート費用、保守維持管理の簡便さという点で、Javaの比較リストにまとめてみました。(2024年1月現在

Java比較リスト(2024年1月現在)
Java比較リスト(2024年1月現在)

おススメのJavaは?

個人ビジネスでJavaを商用利用する場合、費用、セキュリティ、維持管理の観点で、アップデートでおススメできるJavaは次の通り(2024年1月現在)。

  • OracleJDK21.0.2: LTS(長期サポート、無償)
おススメする主な理由
  • Javaアプリ開発ための利用が可能 (JDKであること)
    • 最新のJavaバージョンで最新の機能が使える
  • 無償(ライセンス費用が不要)で商用利用が可能
  • 長期的にセキュリティの脆弱性に対応
    • コミュニティ・ベースの長期サポート(LTS: Long Term Support)
  • 保守維持管理が容易
    • 自動インストールに対応しており、バージョンの変更やアップグレードの際のインストールやアンインストールなどの維持管理作業が簡単にできる。(パスやホーム設定などマニュアル設定方法を覚えておかなくても大丈夫)

ここに記述されているおススメは、特定の条件や優先順位から選んだもので、すべての人に当てはまるものではありません。

したがって、あなたの環境や条件に当てはまり、あなたのニーズに合ったJavaを特定して、 Java比較一覧表を参考に、あなたのニーズに合ったJavaに関連する記事の解説を読み進めてください。

まとめ

この記事では、Oracle JDKのライセンス内容の変化でJavaの選択肢の検討が必要な方がおられる背景を説明し、各種のJavaのロードマップ、および、使用経験からJavaの比較結果を提示して、その中から、、特定の条件でおススメのJavaを提案いたしました。

  • OracleJDKのライセンスの状況
  • Javaのロードマップ
  • Javaの比較結果
  • おススメのJava

バージョン・ナンバーが大きいJavaには、より新しい機能が入っているという長所があります。

無償の長期サポートのバージョンには、コミュニティを通して多くのユーザーのフィードバックが共有されており、ユーザーがよく使う機能の完成度が高いという長所があります。

Javaのロードマップと比較結果をご参考に、あなたのニーズにあったJavaをお選びください。

お金や労力をかけず、プログラミング言語Javaで開発されたアプリケーションが動作したり、Javaでソフトウェア開発ができるパソコン環境を整えたり、一度設定した環境をできる限り長く使いたいものですね。