概要

RaspbianにはデフォルトでJava8が入っていますがVersionが[1.8.0]なので、 最新のJDK8をインストールします。

JDK8のダウンロード

まずJava SE Development Kit 8 Downloads より最新のJDK8をダウンロードします。

ARM版のJDKとして以下のものが存在しますが、

  • Linux ARM v6/v7 Hard Float ABI (jdk-8u65-linux-arm32-vfp-hflt.tar.gz)
  • Linux ARM v8 Hard Float ABI (jdk-8u65-linux-arm64-vfp-hflt.tar.gz)

Raspberry Pi 2はarm7らしいので、[Linux ARM v6/v7 Hard Float ABI]をダウンロードします。

pi@raspberrypi ~ $ wget http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-arm32-vfp-hflt.tar.gz?AuthParam=1445657957_da63dbf388c9b95900697341cf4c09d4
--2015-10-24 12:37:36--  http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-arm32-vfp-hflt.tar.gz?AuthParam=1445657957_da63dbf388c9b95900697341cf4c09d4
download.oracle.com (download.oracle.com) をDNSに問いあわせています... 165.254.42.97, 165.254.42.81
download.oracle.com (download.oracle.com)|165.254.42.97|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 81468618 (78M) [application/x-gzip]
`jdk-8u65-linux-arm32-vfp-hflt.tar.gz?AuthParam=1445657957_da63dbf388c9b95900697341cf4c09d4' に保存中

jdk-8u65-linux-arm32-vfp-hflt.tar.gz?Auth 100%[=======================================================================================>]  77.69M  1.18MB/s 時間 65s    

2015-10-24 12:38:41 (1.20 MB/s) - `jdk-8u65-linux-arm32-vfp-hflt.tar.gz?AuthParam=1445657957_da63dbf388c9b95900697341cf4c09d4' へ保存完了
[81468618/81468618]

pi@raspberrypi ~ $ mv jdk-8u65-linux-arm32-vfp-hflt.tar.gz\?AuthParam\=1445657957_da63dbf388c9b95900697341cf4c09d4  jdk-8u65-linux-arm32-vfp-hflt.tar.gz

pi@raspberrypi ~ $ ls
jdk-8u65-linux-arm32-vfp-hflt.tar.gz

JDK8のインストール

取得したJDK8のアーカイブを展開します。

pi@raspberrypi ~ $ sudo tar zxvf jdk-8u65-linux-arm32-vfp-hflt.tar.gz -C /opt

展開したJDK8のモジュールをRaspbianに登録します。

pi@raspberrypi ~ $ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_65/bin/java 1
pi@raspberrypi ~ $ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_65/bin/javac 1
pi@raspberrypi ~ $ sudo update-alternatives --install /usr/bin/jjs jjs /opt/jdk1.8.0_65/bin/jjs 1
update-alternatives: /usr/bin/jjs (jjs) を提供するために自動モードで /opt/jdk1.8.0_65/bin/jjs を使います

デフォルトで使用する[javac]を展開したJDK8の[javac]に変更します。

pi@raspberrypi ~ $ sudo update-alternatives --config javac
alternative javac (/usr/bin/javac を提供) には 2 個の選択肢があります。

  選択肢    パス                                            優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/javac   318       自動モード
  1            /opt/jdk1.8.0_65/bin/javac                         1         手動モード
  2            /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/javac   318       手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 1
update-alternatives: /usr/bin/javac (javac) を提供するためにマニュアルモードで /opt/jdk1.8.0_65/bin/javac を使います

デフォルトで使用する[java]を展開したJDK8の[java]に変更します。

pi@raspberrypi ~ $ sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。

  選択肢    パス                                               優先度  状態
------------------------------------------------------------
* 0            /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre/bin/java   318       自動モード
  1            /opt/jdk1.8.0_65/bin/java                             1         手動モード
  2            /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre/bin/java   318       手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 1
update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /opt/jdk1.8.0_65/bin/java を使います

確認

変更されているかどうかを確認して、問題なければ作業完了。

pi@raspberrypi ~ $ javac -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)