Java JDK 11

最終更新:

当サイトはアフィリエイト広告を利用しています。

Java JDK 11(LTS)は2018年9月にリリースされたLTS(長期サポート)バージョンです。Oracle JDKのPremier Supportはすでに2023年9月30日に終了しており、現在はExtended Support期間中です。Extended Supportは2026年9月30日に終了します。Amazon CorrettoやEclipse Temurinなどの無償ディストリビューションも同時期に更新が停止するため、現在JDK 11を使用している企業はJDK 17またはJDK 21(LTS)への移行計画を今すぐ策定する必要があります。

Java JDK 11 のサポート期限一覧

サポート種別 開始日 サポート終了日 現在のステータス
Premier Support 2018-09-25 2023-09-30 終了済み
Extended Support(Oracle JDK) 2023-10-01 2026-09-30 サポート中
Corretto 11 / Temurin 11 2026年9月ごろ サポート中

Oracle JDK と無償ディストリビューションの違い
Oracle JDKのExtended Supportは有償契約が必要です。一方、Amazon Corretto 11・Eclipse Temurin 11・Microsoft Build of OpenJDK 11などの無償ディストリビューションはOpenJDKベースで、ほぼ同時期(2026年9月ごろ)まで無償でセキュリティアップデートが提供されます。商用利用で無償を優先する場合はこれらの移行が推奨されます。

基本情報・技術仕様

  • リリース日: 2018年9月25日
  • 最終アップデート: 11.0.27(2025年4月)
  • LTSサイクル: 8年(Premier 5年 + Extended 3年)
  • Java SE仕様: Java SE 11
  • 主要新機能: HTTP Client API(標準化)、var型推論(ローカル変数)、String新メソッド(strip/isBlank等)
  • 削除された機能: Java EE・CORBA モジュール(javax.* APIの大半)
  • 対応OS: Windows, Linux (RHEL/Ubuntu/Debian), macOS
広告

JDK 11 の立ち位置と利用状況

JDK 11はJDK 8に次いで広く普及したLTSバージョンです。特に日本企業では、Spring Boot 2.x系を使用したWebアプリケーションの多くがJDK 11上で稼働しています。しかし、Spring Boot 2.xは2023年11月にEOLを迎えており、Spring Boot 3.xへの移行にはJDK 17以上が必須です。このため、JDK 11の延命はフレームワーク側のサポートとも連動した課題となっています。

影響を受ける主要フレームワーク・ツール

  • Spring Boot 2.x: JDK 11対応だが2023年11月EOL済み。Spring Boot 3.xはJDK 17以上が必須
  • Apache Tomcat 9: JDK 11対応。Tomcat 10以降はJakarta EE(JDK 11可)
  • Gradle 7.x: JDK 11対応。Gradle 8はJDK 17推奨
  • 各種CI/CD環境: GitHub Actions・Jenkins等でJDK 11ランタイムの非推奨化が進行中

2026年9月以降のリスク

Extended Supportが終了する2026年9月30日以降、JDK 11のセキュリティリスクは急速に高まります。

1. セキュリティパッチの提供停止

OracleはCPU(Critical Patch Update)を四半期ごとに提供していますが、Extended Support終了後はJDK 11への提供が停止します。JVM・標準ライブラリ・TLS実装などに新たな脆弱性が発見されても対応されなくなります。外部公開アプリケーションを運用している企業にとって特に深刻なリスクです。

2. フレームワーク・ライブラリの対応終了

Spring Boot・Quarkus・Micronautなど主要フレームワークの新バージョンはすでにJDK 17以上を最低要件としています。JDK 11にとどまる限り、これらフレームワークのセキュリティアップデートを受けられなくなるという二重の問題が生じます。また、Mavenリポジトリの新しいライブラリもJDK 17以上を要件とするケースが増えており、依存ライブラリのアップデートも困難になります。

3. コンプライアンス上のリスク

PCI DSS v4.0・ISO/IEC 27001:2022では、EOSとなったソフトウェアの継続利用に対してリスク評価と補完策の文書化が求められます。JDK 11のEOL後も利用を継続する場合、セキュリティポリシーや監査対応の観点から追加の説明責任が生じます。

推奨される移行先

JDK 11からの移行先はJDK 17またはJDK 21です。いずれもLTSバージョンで、無償ディストリビューションが利用可能です。

Java JDK 17(推奨・現行LTS)

  • Oracle Extended Support終了: 2029年9月30日
  • メリット: Spring Boot 3.x・Quarkus 3.x等の最新フレームワークに対応。Records・Sealed Classes・Pattern Matchingが利用可能に
  • 注意点: javax.* → jakarta.* の名前空間変更への対応が必要(Spring Boot 3.x移行の主な作業)
  • 無償JDK: Amazon Corretto 17・Eclipse Temurin 17・Microsoft Build of OpenJDK 17
  • 適したケース: Spring Boot 3.xへの移行を同時に行う場合、現時点での最も一般的な移行先

Java JDK 21(最新LTS)

  • Oracle Extended Support終了: 2031年9月30日
  • メリット: Virtual Threads(Project Loom)・Sequenced Collections等の最新機能を利用可能。より長いサポート期間
  • 注意点: JDK 17よりさらに変更点が多いため、互換性テストを十分に実施すること
  • 適したケース: 新規プロジェクト、または中長期的な視点でアップグレードを1回で完了させたい場合

移行時の注意点

javax.* から jakarta.* への名前空間移行
JDK 11からJDK 17への移行で最も影響が大きいのは、Spring Boot 3.xへの同時移行です。Spring Boot 3.xではJakarta EE 10を採用しており、javax.servletなどのパッケージ名がjakarta.servletへ変更されています。アプリケーションコード・設定ファイル・依存ライブラリすべてで確認が必要です。

jdepsによる依存関係の事前チェック
JDKに付属するjdepsツールを使用して、使用中のAPIの互換性を事前確認できます。jdeps --jdk-internals myapp.jarを実行することで、内部APIへの依存を検出できます。移行前にこのチェックを必ず実施してください。

GCのデフォルト変更
JDK 11ではG1GCがデフォルトですが、JDK 17/21でもG1GCがデフォルトです。ただし各バージョンでのGCチューニングパラメーターの変化があるため、本番移行前にパフォーマンス測定を実施することを推奨します。

Javaアプリのサーバーをクラウドへ移行するなら

JDK 11のEOLはJavaアプリケーションサーバーの見直し時期でもあります。オンプレミスサーバーで運用している場合、OSの刷新とあわせてVPSへの移行を検討することで、今後のサーバー保守コストを大幅に削減できます。

VPS環境ではJDK 17/21の導入が容易で、セットアップ時間を最小化できます。初期費用なしで最新のJava実行環境を構築でき、スケールアップも柔軟に対応可能です。

比較候補サービス

エックスサーバーのVPSサーバー

圧倒的なコスパと処理性能。サーバー管理費用を大幅に削減したい場合の第一候補です。

さくらのVPS

創業1996年の老舗ホスティング事業者。豊富なプラン構成と、ドキュメントが充実しています。

KAGOYAのVPS

老舗ならではの安定したインフラと法人サポートが強み。長期運用を前提とした法人利用に適しています。

広告

公式情報

参考書籍


Spring Framework超入門 ~やさしくわかるWebアプリ開発~

Spring Framework超入門 ~やさしくわかるWebアプリ開発~


新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト]

新世代Javaプログラミングガイド[Java SE 10/11/12/13と言語拡張プロジェクト]


WEB+DB PRESS Vol.124

WEB+DB PRESS Vol.124