DebianでOracle JDK 8をインストールする方法

DebianにOracle JDK 8をインストールする方法

java8-debian

このチュートリアルでは、DebianにOracle JDK 8を手動でインストールする方法を示します。

環境:

  1. Debian 7

  2. OpenJDK 1.7がインストールされています。 (Oracle JDK 8以降に切り替え)

執筆時点では、OpenJDK 1.8はまだデフォルトのapt-getリポジトリに含まれていません。 デフォルトのaptリポジトリスケジュールが好きではありません。古いリリースや古いリリースが常に付属しています。

Note
このガイドは、Ubuntu14やMint1.7.2などの他のDebian派生物でテストされています。

1. クイックチェック

1.1 A quick Java version check :

$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~deb7u1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

$ javac -version
javac 1.7.0_75

既存のOpenJDK 1.7がインストールされていますが、問題ありません。JDK8に切り替える方法を示します。

1.2 A quick search via apt-cache, there is no openjdk-8… yet.

$ apt-cache search openjdk

...
openjdk-7-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-7-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
...

2. Oracle JDK 8を入手

1.2 Find a Linux x64 version, in this example, we will get the jdk-8u66-linux-x64.tar.gz via wget command.

$ pwd
/home/example

$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz

wgetを使用したくない場合(なぜですか?)、ファイルをダウンロードしてサーバーに手動でアップロードするだけです。

3. / opt / jdk /への抽出

3.1 Extracts it to path /opt/jdk/jdk1.8.0_66

$ pwd
/home/example

$ sudo mkdir /opt/jdk/
$ sudo mv ~/jdk-8u66-linux-x64.tar.gz /opt/jdk/
$ sudo cd /opt/jdk/

$ pwd
/opt/jdk/

$ sudo tar -zxf jdk-8u66-linux-x64.tar.gz
$ ls -ls
total 177056
     4 drwxr-xr-x 3 root root      4096 Oct 27 13:05 .
     4 drwxr-xr-x 3 root root      4096 Oct 27 13:03 ..
     4 drwxr-xr-x 8 uucp  143      4096 Oct  7 00:40 jdk1.8.0_66
177044 -rw-r--r-- 1 root root 181287376 Oct  8 15:56 jdk-8u66-linux-x64.tar.gz

Note
または、この1行の抽出コマンドを試してください。

$ sudo tar x -C /opt/jdk -f jdk-8u66-linux-x64.tar.gz

4. JDKをインストールする

4.1 Make /opt/jdk/jdk1.8.0_66 as a new JDK alternatives for both /usr/bin/java and /usr/bin/javac

$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_66/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_66/bin/javac 100

4.2 Update the default JDK, for both java and javac

$ update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      auto mode
* 1            /opt/jdk/jdk1.8.0_66/bin/java                    100       manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk/jdk1.8.0_66/bin/java to provide /usr/bin/java (java) in manual mode
$ update-alternatives --config javac
There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      auto mode
* 1            /opt/jdk/jdk1.8.0_66/bin/javac                100       manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/bin/javac   1051      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk/jdk1.8.0_66/bin/javac to provide /usr/bin/javac (javac) in manual mode

5. 検証

Javaバージョンをもう一度確認してください。

$ java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
root@hydra:/opt/jdk#

$ javac -version
javac 1.8.0_66

完了しました。 ラムダをお楽しみください!

6. その他...アップグレード方法

新しいjdk1.8.0_99がリリースされ、それをアップグレードしたいとします。

6.1 Download the JDK tar files and extracts it to /opt/jdk/jdk1.8.0_99

6.2 Self-explanatory.

# 6.2.1 Remove the existing alternatives - jdk1.8.0_66
$ sudo update-alternatives --remove java /opt/jdk/jdk1.8.0_66/bin/java
$ sudo update-alternatives --remove javac /opt/jdk/jdk1.8.0_66/bin/javac

# 6.2.2 Install new JDK alternatives - jdk1.8.0_99
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_99/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_99/bin/javac 100

# 6.2.3 Update default JDK again, select /opt/jdk/jdk1.8.0_99
$ update-alternatives --config java
$ update-alternatives --config javac

# 6.2.4 Remove the old JDK folders
$ sudo rm -rf /opt/jdk/jdk1.8.0_66/

今後のOracle JDK 9へのアップグレードはどうですか? あなたは何をするべきか知っています :)