この記事は更新が必要とされています。 (2019年9月) |
| 開発元 | オラクル(サン・マイクロシステムズ) |
|---|---|
| 最新版 |
27
/ 2026年9月15日 |
| 対応OS | Linux、macOS、Windows |
| プラットフォーム | x86-64、ARM64 |
| 種別 | ソフトウェア開発キット |
| ライセンス | 無償で使用する場合は Oracle No-Fee Terms and Conditions 。有償契約は Oracle Java SE Universal Subscription 。 |
| 公式サイト |
www |
Java Development Kit (JDK) は、プログラミング言語Javaを使ってJavaアプリケーションおよびその他のソフトウェアコンポーネントを構築するためのソフトウェア開発キット (SDK) および開発環境である。現在、活発に開発されているのは OpenJDK およびそのフォークであり、2018年9月の Java 11 以降はソースコードは同一だが OpenJDK にサポートを付けたものをオラクル(旧サン・マイクロシステムズ)は Oracle Java SE Development Kit (Oracle JDK) として配布している。
Oracle Java SE Development Kit はLinux、macOS、Windows向けのパッケージが用意されている。OpenJDK は加えてIBM AIXも対応している。Oracle Java SE Development Kit 11まではSolaris向けのパッケージも用意されていたが、Java 12と13はOpenJDKのみになり、JEP 362にてそれ以降のOpenJDKでのサポートは終了し 、有志によってSolarisサポートが継続している。
JDK に関してオラクルのサポートを受けるには Oracle Java SE Universal Subscription などの有償契約が必要。Oracle Java SE Development Kit は、JDK 17 以降の LTS は、リリース後3年間は無償利用も可能であるが、それ以降は Oracle Java SE Universal Subscription の有償契約が必要。OpenJDK には3年間の制限はない。Oracle Java SE Universal Subscription の日本での2025年9月の価格は1台あたり年間27,900円。
2006年11月17日に、サン・マイクロシステムズはJDKをGNU General Public License (GPL) に基づきリリースすると発表し、2007年5月8日にJDKのソースコードをOpenJDKに寄付した。従ってOpenJDKは自由ソフトウェアである。OpenJDKなどの他の実装と区別するため、従来のJDKはSun JDKあるいはOracle JDKとも呼ばれる。
JavaのAPIセットおよび実行環境 (Java Runtime Environment, JRE) はその用途ごとに、Java Platform, Standard Edition (Java SE)、Java Platform, Enterprise Edition (Java EE)、Java Platform, Micro Edition (Java ME) などのエディション(プロファイル)が用意されているが、Java SE Development KitはJava SE向けの開発に対応する。Java EE向けの開発にはJava EE SDKが、Java ME向けの開発にはJava ME SDKがそれぞれ用意されていた。
なお、Java EE SDK および Java ME SDK は Java 8 が最後のバージョンで開発終了となった。Java EE は Jakarta EE に引き継がれている。
JDK 25には以下のツールが含まれている。
Windows に限り以下のものが含まれている。
以下はかつて含まれていた物。
実験用ツールはJDKの将来のバージョンで利用不可能になるかもしれない。
Java 10までは、JDKには、通常プライベートランタイムと呼ばれる完全なJava Runtime Environment (JRE) も付属していた。JDKが「レギュラー」なJREから分離され余分な内容が含まれているためである。それはJava仮想マシンおよび、国際化と地域化ライブラリやIDLライブラリのような、開発者にのみ役に立つ追加ライブラリと同様に、生産環境として提供されるクラスライブラリの全てから構成される。
JDKのコピーは、Java APIのほとんど全ての部分の利用を説明する広範囲なプログラム例の抜粋も含んでいる。
JDKは、ソフトウェア開発キット(SDK)の拡張サブセットを構成している。オラクルは、JDKをJava SE開発キットを指す用語として使用することを強く推奨している。Java SE SDKは、JDKとセットでも、JDKなしでも利用可能であり、特にJava SE 7 JDKを意味している。
OpenJDKおよびその派生ソフトウェア(Oracle Java SE Development Kitなど)が広く使われているが、様々なプラットフォームで一般的に利用可能な他のJDKもある。それら全ては基本的なJava仕様に基づいているが、ガベージコレクション、コンパイル方法、そして最適化技術といった明確に指定されていない部分はしばしば異なる。それらを以下に示す。
開発中のもの:
開発が終了したもの: