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 の場合、x64Linux 版では、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 FirefoxOperaInternet ExplorerなどのウェブブラウザにJava Plug-inをインストールするかどうかを尋ねられる。これはブラウザでJavaアプレットを動かし、Java Web Start対応Javaアプリケーションを起動できるようにするために必要なものであり、単純にFlashをブラウザ上で直接実行したり、ブラウザ外部のメディアプレーヤーを起動したりといったものと同じプラグインの一種である。

JREのアップデートには、旧バージョンを削除しないものがあった。セキュリティホールが発見されている、あるいはサポートが終了している旧バージョンのJava (JDK/JRE) をシステムに残しておくと、重大なセキュリティリスクが生じるため、旧バージョンを手動で削除することが強く推奨されている[8]

関連項目

編集

参照

編集
  1. ^ Oracle JDK 移行ガイド”. Oracle Help Center. 2025年9月20日閲覧。
  2. ^ JDKの新しいリリース・モデル、および提供ライセンスについて | Oracle 日本”. oracle.com. 2025年9月20日閲覧。
  3. ^ AndroidのJava実行環境は正式にライセンスされたJREではなく、またDalvik仮想マシン/Android Runtimeは正式なJava仮想マシンとの互換性がない。
  4. ^ Adoptium, Eclipse. “Adoptium”. Adoptium. 2025年9月23日閲覧。
  5. ^ Adoptium, Eclipse. “Using Jlink in Dockerfiles instead of a JRE”. adoptium.net. 2025年9月23日閲覧。
  6. ^ javapackager
  7. ^ JDK 8の互換性ガイド
  8. ^ 古いバージョンのJavaをシステムからアンインストールしなければならないのはなぜですか。

外部リンク

編集

📚 Artikel Terkait di Wikipedia

Java

Java実行環境 (Java Runtime Environment; JRE) は、Javaアプリケーションを実行するために必要なソフトウェアである。Java仮想マシン、''Java.exe''のスターターを含めた各種実行サポートツール、Javaクラスライブラリで構成される。Java

Javaプラットフォーム

Javaプラットフォームは、Java、Javaアプレット、Java Runtime Environment、JVM、携帯電話や組み込み機器対応Java (Java ME)、Java Web Start、Java製アプリケーションなども含めてまとめて単純に「Java」と呼ばれることがある。 Java

Javaアプリケーション

(iモード/NTTドコモ) EZアプリ (Java) (EZweb/au (KDDI)) S!アプリ (Yahoo!ケータイ/ソフトバンクモバイル) などの種類がある。 2018年9月リリースのJava 11にて、Java Runtime Environment (JRE)、Javaアプレット、Java Web

Javaアプレット

Javaアプレット(Java Applet)は、ネットワークを通してWebブラウザに読み込まれ実行されるJavaのアプリケーションの一形態。Java 10まではJava Runtime Environmentに搭載されていて、Java 9より非推奨になり、Java

Java Development Kit

JDKとも呼ばれる。 JavaのAPIセットおよび実行環境 (Java Runtime Environment, JRE) はその用途ごとに、Java Platform, Standard Edition (Java SE)、Java Platform, Enterprise Edition (Java EE)、Java

JAR (ファイルフォーマット)

Java実行時環境 (Java Runtime Environment: JRE) などに含まれるJavaの標準ツールはJARを直接扱えるため、ユーザが明示的にJARを展開する必要はない。 Javaの標準的なソフトウェア開発キット (Java Development Kit:

OpenJDK

Temurin や Ubuntu OpenJDK などは独自に追加のテストの Eclipse AQAvit もかけている。 Java 11 にて Java Runtime Environment は廃止されたが、下記のうちいくつかは JRE も配布している。 JDK のディストリビューションのディストリビューションとして

ソースコード

いることによってJARファイルを生成する。一般的にエンドユーザー環境に配布されるのはJavaソースファイルではなく、バイトコードなどを含むJARファイルの形態であり、Java Runtime Environment (JRE) がインストールされた任意の環境で実行できるようになる。