Java Runtime Environment
Java Runtime Environment(Java実行環境、JRE)とは、コンピュータシステム上でJavaプラットフォーム用のアプリケーションソフトウェア(Javaアプリケーション)を動かせるようにするソフトウェア群である。Java Development Kit から開発以外には不要なファイルを除去したものである。
Java 10 まではオラクル(旧サン・マイクロシステムズ)は JRE を配布していたが、2018年9月の Java 11 にて廃止した[1] 。オラクルは JRE を OS にインストールするのではなく、アプリケーションごとに OpenJDK のサブセットを同梱配布する方法を推奨していて、それゆえ廃止された[2] 。ただし、OpenJDK から派生して作られた JRE をいくつかの組織が配布している[3] 。例えば Eclipse Temurin の JDK 25 の場合、x64 の Linux 版では、JDK は 140MB なのに対して、JRE は 61MB と配布サイズが小さくなる[4] 。ただし、Docker の場合は、JRE よりも jlink を使用することを薦めている[5] 。
Java 10までのJRE
[編集 ]JREのソフトウェア群はJava仮想マシン (JVM) とアプリケーションプログラミングインタフェース (API) から成り立っている。APIはエディション(プロファイル)に応じて、標準Javaクラスライブラリの集合や拡張ライブラリなどを提供する。仮想マシンとAPIは互いに互換性がなければならず、それゆえJREとして共にバンドルされている。これは仮想マシンがプロセッサであり、APIがユーザインタフェースであるような仮想的なコンピュータと考えることができる。
JREは、Javaアプリケーション開発に必要なJavaコンパイラなどを含むソフトウェア開発キット (SDK) であるJava Development Kit(JDK、Java開発キット)にも同梱されている。
Javaアプリケーションは対応するJREがなければ動作させることができない。Java互換の組み込み機器では通例JREが標準インストールされているが、デスクトップマシンでは、JREが標準インストールされていないこともあり、その場合はJREを事前にインストールする必要がある。JDK 10までは、javapackagerと呼ばれるツールを利用し、JREをアプリケーションパッケージにプライベートモジュールとして同梱(バンドル)・再配布する形態もサポートされていた[6] 。JREは基本的に後方互換性を保っており、古いJDKを利用して作成されたJavaアプリケーション(JAR)を新しいJRE上で動作させることもある程度可能であるが、新しいバージョンのJDK/JREで持ち込まれた非互換性により、アプリケーションが正常に動作しなくなることもある[7] 。Javaアプレットなど、一部のソフトウェアコンポーネントは古いバージョンのJDK/JREにしか含まれておらず、新しいバージョンのJDK/JREでは利用不可能であるものもある。JavaFXのように、かつてJDK/JREに標準で含まれていたものの、のちに分離・独立して個別提供されるようになったコンポーネントもある。
Java 10までのJREにはJava Web Startも同梱されていた。インストール時にMozilla Firefox、Opera、Internet ExplorerなどのウェブブラウザにJava Plug-inをインストールするかどうかを尋ねられる。これはブラウザでJavaアプレットを動かし、Java Web Start対応Javaアプリケーションを起動できるようにするために必要なものであり、単純にFlashをブラウザ上で直接実行したり、ブラウザ外部のメディアプレーヤーを起動したりといったものと同じプラグインの一種である。
JREのアップデートには、旧バージョンを削除しないものがあった。セキュリティホールが発見されている、あるいはサポートが終了している旧バージョンのJava (JDK/JRE) をシステムに残しておくと、重大なセキュリティリスクが生じるため、旧バージョンを手動で削除することが強く推奨されている[8] 。
関連項目
[編集 ]- Java
- Javaプラットフォーム
- Java仮想マシン (JVM)
- Java Development Kit(JDK、Java開発キット)
- IBM J9
参照
[編集 ]- ^ "Oracle JDK 移行ガイド". Oracle Help Center. 2025年9月20日閲覧。
- ^ "JDKの新しいリリース・モデル、および提供ライセンスについて | Oracle 日本". oracle.com. 2025年9月20日閲覧。
- ^ AndroidのJava実行環境は正式にライセンスされたJREではなく、またDalvik仮想マシン/Android Runtimeは正式なJava仮想マシンとの互換性がない。
- ^ Adoptium, Eclipse. "Adoptium". Adoptium. 2025年9月23日閲覧。
- ^ Adoptium, Eclipse. "Using Jlink in Dockerfiles instead of a JRE". adoptium.net. 2025年9月23日閲覧。
- ^ javapackager
- ^ JDK 8の互換性ガイド
- ^ 古いバージョンのJavaをシステムからアンインストールしなければならないのはなぜですか。
外部リンク
[編集 ]オラクル |
| ||||||
---|---|---|---|---|---|---|---|
サードパーティ |
| ||||||
JVM言語 | |||||||
コミュニティ |
| ||||||