プロジェクト

全般

プロフィール

JDK 8セットアップ

Java SE 8仕様の開発環境JDK(Java Development Kit)です。

Java SE 8のアップデートリリース状況については次のURLに記載があります。
https://www.java.com/ja/download/faq/release_dates.xml

開発者用にJDK 8をインストールしセットアップする手順を記述します。
なお、説明はUpdate 40で記述していますので、適宜最新版に読み替えてください。

入手

Java SEダウンロードページ より無償で入手可能です。Windows版およびLinux版では32bit用、64bit用のバイナリとドキュメント、サンプルが提供されています。

ライセンスについて

Oracleが提供する Java SE Development Kit 8については、2019年4月16日以降のアップデートリリースはOTNライセンスのもと無償で入手・利用が可能です。OTNライセンスが適用できるケースの一例は、個人利用の場合、組織での開発用途での利用の場合です。

Windows 64bit用の入手ファイル

上述Java SEダウンロードページから、Java SE 8u40 JDKの[DOWNLOAD]ボタンをクリックし、Java SE Development Kit 8 Downloadsページへ辿ります。

  • jdk-8u40-windows-x64.exe
    Java SE Development Kit 8 の Windows x64用のダウンロード(Windowsインストーラ形式)
  • jdk-8u40-windows-x64-demos.zip
    Java SE Development Kit 8 Demos and Samples のWindows x64用のダウンロード(zipアーカイブ形式)。JavaFXのサンプルもこの中に含まれます。

Linux 64bit用の入手ファイル

上述JDK 8ダウンロードページから、JDK 8の[DOWNLOAD]ボタンをクリックし、Java SE Development Kit 8 Downloadsページへ辿ります。
Linux版は、RPMパッケージ版とTARボール版の2つの形式が用意されています。RPMパッケージを採用しているLinuxディストリビューションであればRPMパッケージ版をインストールするのがよいでしょう。

  • jdk-8u40-linux-x64.rpm
    Java SE Development Kit 8 の Linux 64bit用のダウンロード(RPMパッケージ形式)
  • jdk-8u40-linux-x64-demos.rpm
    Java SE Development Kit 8 Demos and Samples のLinux 64bit用のダウンロード(RPMパッケージ形式)。JavaFXのサンプルもこの中に含まれます。

32bit版、64bit版のJDKを共存させる

Linux RPMパッケージ版のJDKは、32bit版、64bit版で同じパッケージ名を使用しており、同じ環境に両方をインストールしようとする場合、後からインストールする方がエラーとなってしまいます。

回避方法の一つは、TARボール版で異なる場所にインストールし、環境変数で切り替えます。

Java SEドキュメントの入手ファイル(OSによらず共通)

上述Java SEダウンロードページから、Java SE 8 Documentationの脇の[DOWNLOAD]ボタンをクリックし、Java SE Development Kit 8 Documentationページへ辿ります。

  • jdk-8u40-docs-all.zip
    Java SE Development Kit 8 Documentationのダウンロード(zipアーカイブ形式)
  • javafx-8u40-apidocs.zip
    JavaFX API Documentation のダウンロード(zipアーカイブ形式)

日本語ドキュメントを、Java SE 日本語ドキュメントアーカイブ からダウンロードします。

  • 8.zip

インストール

Windows 64bitへのインストール

Java SE Development Kit 8u40 のインストール

ダウンロードしたWindowsインストーラ形式(64bit用)をダブルクリックして実行します。
ウィザードが起動するので、順次進めていきます。

jdk8u40installer-01.png

次はインストール先の確認画面です。デフォルトはC:\Program Files\Java\jdk1.8.0_40\ となっており、変更が可能です。ここでは、デフォルトのままインストールします。開発要件で複数のJDK 8アップデートを使い分けるときに便利だからです。

jdk8u40installer-02.png

インストールが開始されます。

jdk8u40installer-03.png

しばらくすると、JRE(Java Runtime Environment)のインストール先確認画面が出ます。デフォルトはC:\Program Files\Java\jre1.8.0_40\ となっており、変更が可能です。なお、JREも複数のアップデートを共存させることができるようになっています(前のアップデートバージョンが消されなくなった)。

jdk8u40installer-04.png

  • 注記)JREのインストール先確認画面がJDKのインストーラ画面の裏に回ってしまい、一見いつまでたっても表示されないことがあります。その場合は、タスクバーに「Javaセットアップ - コピー先フォルダ」画面があるかを調べ、あればそれをクリックして最前面に表示させます。

jdk8u40installer-05.png

jdk8u40installer-06.png

ここで[次のステップ]ボタンをクリックすると、Java SEのドキュメントポータルページがブラウザで開かれます。

oracle_javase_doc_portal-1.png

Java SE Development Kit 8 Demos and Samples のインストール

ダウンロードしたJDK 8のデモおよびサンプル一式を一時作業ディレクトリに展開します。次のディレクトリ構成となっています。

jdk1.8.0_040
  +-- demo
  |     +-- applets
  |     +-- db
  |     +-- javafx_samples
  |     +-- jfc
  |     +-- jpda
  |     +-- jvmti
  |     +-- management
  |     +-- nbproject
  |     +-- nio
  |     +-- plugin
  |     +-- scripting
  +-- sample
        +-- annotations
        +-- forkjoin
        +-- jmx
        +-- jnlp
        +-- lambda
        +-- missioncontrol
        +-- nbproject
        +-- nio
        +-- scripting
        +-- try-with-resources
        +-- webservice

demoおよびsampleディレクトリをJDK 8インストールディレクトリ下に移動します。

JDK 8のデフォルトインストール先であるC:\Program Files下は、管理者権限を持つユーザーしか書き込みできません。
また、管理者権限を持つユーザーであっても、UACで管理者に昇格しないと直接C:\Program Filesの下に展開することができません。解凍ツール一時作業用ディレクトリに解凍してからファイルエクスプローラ等で移動します。

Java SE Development Kit 8 Documentation のインストール

ダウンロードしたドキュメントアーカイブは、次のディレクトリ構成となっています。

docs
  +-- api
  +-- images
  +-- jdk
  +-- jre
  +-- legal
  +-- platform
  +-- technotes

最上位のdocディレクトリをJDK 8インストールディレクトリ下に移動します。

Java SE Development Kit 8 Documentation 日本語版のインストール

ダウンロードしたドキュメントアーカイブをC:\Program Files\Javaディレクトリに展開します。次のディレクトリ構成となっています。

E54527_01
  +-- java
  +-- legal
  +-- api
  +-- images
  +-- technotes
  +-- jdk
  +-- jre
  +-- platform

E54527_01をjdk-1.8.0_jaに名前変更します。

  • 日本語ドキュメントはJDKのアップデート頻度ほどには更新されないので、JDKの下ではなく外側に置いています。

JavaFX API Documentation のインストール

ダウンロードしたドキュメントアーカイブファイルを一時作業ディレクトリに展開します。次のディレクトリ構成となっています。

api
  +-- javafx
  +-- netscape
  +-- resources

JDK 8インストールディレクトリ下にjavafx-apidocsフォルダを作成し、最上位のapiディレクトリをその下に移動します。

シンボリックリンク(ジャンクション)の作成

JDK 8インストールディレクトリは、デフォルトではアップデートごとに異なるディレクトリ名となります。
アップデートの都度、環境変数PATHや他のツールからJDKのディレクトリの指定を変えるのは手間です。
そこで、あらかじめ固定のディレクトリをシンボリックリンク(またはジャンクション)として作成し、それが最新のJDK 8ディレクトリを指すようにします。

C:\> mkdir java
C:\> cd java
C:\java> mklink /J jdk1.8.0 "C:\Program Files\Java\jdk1.8.0_40" 
C:\java> dir
2015/03/04  23:43    <JUNCTION>     jdk1.8.0 [C:\Program Files\Java\jdk1.8.0_40]
C:\java>

こうすると、JDK 8のインストールディレクトリは常にC:\java\jdk1.8.0として扱えます。

Windows 32bit版インストール

64bit版とほぼ同じ手順でインストールできます。
デフォルトのインストールディレクトリは、Windows 32bit OSではC:\Program Files\Java\jdk1.8.0_40、Windows 64bit OSではC:\Program Files (x86)\Java\jdk1.8.0_40 になります。
32bit版のWebブラウザ上でJavaプラグインを動かすには、同じ32bit版のJavaが必要になります。

Linux 64bitへのインストール(RPMパッケージ版)

Java SE Development Kit 8 のインストール

ダウンロードしたRPMパッケージ形式(64bit用)をrpmまたはyumコマンドで指定します。

# yum localinstall /tmp/jdk-8-linux-x64.rpm
   :

デフォルトでは、/usr/java/jdk1.8.0 下にインストールされます。

Linux 64bitへのインストール(TARボール版)

Java SE Development Kit 8 のインストール

TARボール形式なので任意の場所で展開し、環境変数等を設定して使用します。
一般的に、パッケージ管理システムを使用しないソフトウェアは/usr/local下に入れるので、今回は/usr/local/javaディレクトリを作成し、その下に展開します。

# mkdir /usr/local/java
# tar xzf ~/jdk8u131-linux-x64.tar.gz

32bit版もインストールするときは、ディレクトリ名で区別がつくように名前を変更します。

# mv jdk1.8.0_131 jdk1.8.0_131_x64

セットアップ

Java SE Development Kit 8 に含まれるJava SE 8およびJavaFXの標準ライブラリのソースコードを展開

Java SE Development Kit 8をインストールすると、JavaFX標準ライブラリのソースコードとJavaFXを除くJava SE標準ライブラリのソースコードがそれぞれアーカイブされたファイルとしてインストール先ディレクトリに置かれます。

<JDKインストールディレクトリ>
  +-- javafx-src.zip
  +-- src.zip

それぞれのアーカイブファイルの内容(ディレクトリ)は次のようになっています。

  • javafx-src.zip
    javafx
    netscape
    com
    
  • src.zip
    com
    java
    javax
    launcher
    org
    

Java SEの標準ライブラリのソースコードはしばしば参照することになるので、利用しやすいようにアーカイブファイルを展開しておきます。JDK 8インストールディレクトリ下にsrcディレクトリを作成し、その下にjavafx-src.zipとsrc.zipを展開します。

JDKのソースコードを入手・展開

JDKに含まれるsrc.zipとは別に、JDK自体のソースコードを入手すると、ネイティブメソッドの実装(C/C++で記述)や、非標準クラス(非公開のクラス等)のソースコードを見ることが出来ます。

JDK 8 GA版のソースコードを入手

https://jdk8.java.net/ から、Source codeの右横のinstrctionsをクリックすると、OpenJDKのソースリポジトリからソースを入手する方法が記述されたREADMEファイル(テキスト)が得られます。

まず、ソースを展開するトップディレクトリへ移動し以下を実行します。

~$ mkdir work
~$ cd work
work$ hg clone http://hg.openjdk.java.net/jdk8/jdk8 openjdk8
全リビジョンを取得中
リビジョンを追加中
マニフェストを追加中
ファイルの変更を追加中
942 個のリビジョン(1309 の変更を 136 ファイルに適用)を追加
ブランチ default へ更新中
ファイルの更新数 82、 マージ数 0、 削除数 0、 衝突未解消数 0

work$ cd openjdk8
openjdk8$ ls
ASSEMBLY_EXCEPTION*  get_source.sh*  Makefile*            test/
common/              LICENSE*        README*              THIRD_PARTY_README*
configure*           make/           README-builds.html*

work$ sh ./get_source.sh
# Repositories:  corba jaxp jaxws langtools jdk hotspot nashorn 
    :
                  jdk:   ブランチ default へ更新中
                  jdk:   ファイルの更新数 22175、 マージ数 0、 削除数 0、 衝突未解消数 0
work$

JDK 8 Update版のソースコードを入手

http://openjdk.java.net/projects/jdk8u/ の"Source code"に取得方法が記載されています。

  • jdk8u(Updateリリース版)
    work$ hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh
    
  • jdk8u-dev(開発版)
    work$ hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh
      :
    

環境変数の設定

Windowsで複数JDKバージョンを切り替える

複数のJDKバージョンをインストールし、適宜使用するバージョンを切り替えるバッチファイルを作成しました。

変更点

コマンド

binフォルダ下にあるコマンドでJDK 7u51からの違いは次のとおりです。

  • apt.exeがなくなった
  • jdeps.exeとjjs.exeが増えた

JDK 8u20での違い

  • javapackager.exeが増えた

参考文献

Oracle公式ドキュメント


4年以上前に更新