Java 8 のインストールについて備忘録的に書いておきます。
(自分の環境はこれでうまくいったよ~と言う話なので、ベストプラクティスかどうかはわかりません。。。)
jdk 8 の rpm を oracle のサイトからダウンロードしてきます。
私の Cent OS は 64 bit 版だったので下記の rpm をダウンロードしました。
$ rpm -ivh jdk-8u5-linux-x64.rpm
インストールはこれだけのはずなんですが。。。
バージョンを確認してみる
$ java -version java version "1.7.0_55" OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13) OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
あれ、おかしい。。。
javac のほうは・・・?
$ javac -version
javac 1.8.0_05
javac の方だけ、インストールされている?
いや、そんなわけない。
ためしに、インストール先を探してみると、
$ /usr/java/default/bin/java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
ちゃんと入っていますね。
(/usr/java/default に 先ほどインストールした java 8 が入っています。)
では、java のコマンドはどっから実行されているかというと、
$ which java /usr/bin/java
ここだ。
こいつはシンボリックリンクなのですが、きっとリンク先がおかしかったのですね。
ちなみに javac の方はというと、
$ which javac /usr/bin/javac
という風になって、中身をみてみると、
$ ls -la /usr/bin/javac lrwxrwxrwx. 1 root root 27 6月 26 21:14 2014 /usr/bin/javac -> /usr/java/default/bin/javac
となっていることがわかります。
というわけで、javaコマンドの方も同じように修正してあげましょう。
シンボリックリンクの修正
もとのシンボリックリンクをとりあえず退避
$ sudo mv /usr/bin/java /usr/bin/java-org
新しくシンボリックリンクを作成
$ sudo ln -s /usr/java/default/bin/java /usr/bin/java
確認
$ java -version java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
まぁ、だいぶ無理やりな気もするのですが。。。
今日はこの辺で。