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

情報技術の知恵
セキュリティ情報(重要)

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

  • 8u271 (or older) => 8u281 (or newer)

また、次の新しいバージョンもリリースされたのでアップデートできます。

  • 15.0.1 (or older) => 15.0.2
  • 11.0.9 (or older) => 11.0.10

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

  • AdoptOpenJDK
    • 15.0.2
    • 11.0.9 => 11.0.10
    • 8u275 => 8u282
  • OpenJDK
    • 15.0.2
  • OracleJRE
    • 8u281

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

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

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

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

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

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

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

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

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

OracleJDKのライセンスの状況

まず最初に、Javaのライセンス状況を確認しておきましょう。

いままで、Javaはオラクル(合併吸収以前はサン・マイクロシステムズ)が無償提供してきたので、ライセンス費用を考える必要がありませんでした。ところが、2019年4月16日を境に、今までと大きく異なったOracle JDK (Java Development Kit)ライセンスが適用されるようになりました。

2019年4月16日以降の長期サポート・リリースのOracle JDK (Java Development Kit)の商用使用にライセンス費用が必要というところが大きく異なります。

オラクルJDKのライセンス内容変更のお知らせ

「Oracle Technology Network License Agreement for Oracle Java SE」によると、次の限定条件であれば、OracleJDKを無償で使えます。

  • 個人使用
  • 開発使用
  • オラクル承認製品の使用、または、オラクル・クラウド・インフラストラクチャーの使用

また、半年ごとのリリースであるOpenJDKは無償で使用可能です。

Javaのロードマップ

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

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

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

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

  • 有償のOracleJDKは
    • 長期サポート・リリース版:3年ごと (例:OracleJDK11)
    • 半年ごとのリリース 版:半年ごと (例:OracleJDK15)
  • 無償のOpenJDKは半年ごとのリリース (例:OpenJDK15)

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

オラクル Java ロードマップ

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

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

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

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

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

AdoptOpenJDKのロードマップ

無償で商用利用可能であり、 コミュニティ・サポートでオープン・ソースのAdoptOpenJDKロードマップは次の通りです。 (2020年11月現在

  • 長期サポート版:Java11 (LTS)、Java8 (LTS)
    • Java17:2021年9月19日にリリース予定
  • 半年ごとのリリース版:Java15
    • Java16:2021年3月16日にリリース予定
    • Java14, Java13, Java12, Java10, Java9:新規リリース予定なし

AdoptOpenJDK ロードマップ
ちょっとした豆知識(「AdoptOpenJDK」から「Eclipse Adoptium」へ)

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

「AdoptOpenJDK」は今後「Eclipse Adoptium」として活動することになります。

今は過渡期で不明点が多いですが、新しいロードマップやJavaのアップデートをはじめとして、今後の活動に注目しましょう。

AdoptOpenJDK to join the Eclipse Foundation
AdoptOpenJDK will join the Eclipse Foundation and rebrand as Adoptium.

Javaの比較結果

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

Java比較一覧表

おススメのJavaは?

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

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

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

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

まとめ

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

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

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

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

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

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