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

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

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

  • 8u291 (or older) => 8u301 (or newer)
  • 11.0.11 (or older) => 11.0.12 (or newer)
    • 備考)JDK 16のサポートは2021年9月で終了なので、推奨から外しました。

2021年9月14日にOracle JDK 17、および、OpenJDK 17がリリースされました。

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

  • Eclipse Temurin JDK (旧AdoptOpenJDK)
    • 17
    • 11.0.12
    • 8u302
  • OpenJDK
    • 17
  • OracleJDK
    • 17
  • OracleJRE
    • 8u301

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日Java 17に関するプレス・リリースがオラクルから発表されました。この発表で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)
    • 半年ごとのリリース 版:半年ごと (例:OracleJDK18)
  • 無償ののOracleJDKは
    • 長期サポート・リリース版:3年ごと (例:OracleJDK17と将来のLTSリリース)
  • 無償のOpenJDKは
    • 半年ごとのリリース 版:半年ごと (例:OpenJDK18)

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

オラクル Java ロードマップ
オラクル Java ロードマップ

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

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

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

予定されているクリティカル・パッチ・アップデートのスケジュール
  • 2021年10月19日
  • 2022年01月18日
  • 2022年04月19日
  • 2022年07月19日

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

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

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

  • 長期サポート版:Java11 (LTS)、Java8 (LTS)
    • Java17:2021年9月にリリース予定
  • 半年ごとのリリース版:Java16
    • Java16:新規リリース予定なし(2021年9月でサポート終了予定)

 AdoptiumOpenJDK ロードマップ (Aug. 2021)
AdoptiumOpenJDK ロードマップ (Aug. 2021)
ちょっとした豆知識(「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
After months of hard work, the migration process has begun!

Javaの比較結果

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

Java比較リスト(2021年9月現在)
Java比較リスト(2021年9月現在)

おススメのJavaは?

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

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

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

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

まとめ

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

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

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

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

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

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