mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Scientific Linux - Java SE Development Kit インストール!

[ pc_tips ] [ Java, ScientificLinux ]

こんばんは。

Scientific Linux 6.3 (64bit) に Java SE Development Kit (= JDK) をインストール方法についてです。

以前、CentOS 6.2 (i386) に JDK をインストールしました。

今回もインストール方法はほとんど同じですが、若干異なる部分もあるので記録しておきます。

作業記録

0. 前提条件

  • Scientific Linux 6.3 (64bit) での作業を想定。
  • Scientific Linux にはデフォルトで Open JDK という Java 開発キットが導入されているはず。
  • Open JDK でよいのなら、Java の新規インストールもしなくてよい。

1. インストール済みの JDK 確認

既にインストール済みの JDK を確認してみる。

1
2
# rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.49.1.11.4.el6_3.x86_64

不要ですが、とりあえず残しておくことにします。

2. Java SE Development Kit のダウンロード

Oracle の JDK ダウンロードサイト から rpm 版をダウンロードする。 この時、[ Accept License Agreement ] をチェックしてダウンロードする。 ダウンロードしたファイルは分かりやすくするため、 /root に配置した。 【2012.10.05追記】 ※64bit版Linuxで32bit版Firefoxを使用する場合は、64bit版JDKのJREは機能しません。その場合は、32bit版JDKをインストールした方がよいでしょう。

3. インストール

以下のようにしてインストールする。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# rpm -Uvh jdk-7u7-linux-x64.rpm
準備中...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
Unpacking JAR files...
  rt.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/rt.pack
  jsse.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/jsse.pack
  charsets.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/charsets.pack
  tools.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/lib/tools.pack
  localedata.jar...
Error: Could not open input file: /usr/java/jdk1.7.0_07/jre/lib/ext/localedata.pack

上記の Error は、調べてみると無視してよいようなので、とりあえず無視します。

4. インストール確認

インストールされたか確認してみる。

1
2
3
# rpm -qa | grep jdk
java-1.6.0-openjdk-1.6.0.0-1.49.1.11.4.el6_3.x86_64
jdk-1.7.0_07-fcs.x86_64

インストールされているようだ。

5. Java バージョン確認

Java のバージョンを確認してみる。

1
2
3
4
# java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (rhel-1.49.1.11.4.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

まだ、既存の Open JDK のバージョンが表示される。

6. alternatives で確認

同時にインストールされた同機能を提供するソフトやバージョンの異なるソフトを管理するためのユーティリティ alternatives を使って Java について確認してみる。

1
2
3
4
5
6
7
8
9
10
11
12
# alternatives --display java
java - ステータスは手動です。
リンクは現在 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java を指しています。
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000
 スレーブ keytool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/keytool
 スレーブ orbd: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/orbd
           :
  ====< 途中省略 >====
           :
 スレーブ tnameserv.1.gz: /usr/share/man/man1/tnameserv-java-1.6.0-openjdk.1.gz
 スレーブ unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz
現在の「最適」バージョンは /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java です。

alternatives には Open JDK しか登録されていないことが分かる。

7. alternatives に追加

独自にインストールした JDK を alternatives に追加する。 優先項目の値は大きいほど優先度が上がるので、既存の 1.6.0 が 16000 になっているのに合わせて、17000 とした。

1
# alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_07/bin/java 17000

※alternatives についての詳細は --help オプションでご確認ください。 ※また、CentOS の場合は優先度の値が JDK-1.5.0 で 1500 となっていました。今回は JDK-1.6.0 で 16000 になっています。注意しないと、後からインストールした JDK が最適バージョンに設定されません。

8. alternatives で再度確認

alternatives を使って Java について確認してみる。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# alternatives --display java
java -ステータスは自動です。
リンクは現在 /usr/java/jdk1.7.0_07/bin/java を指しています。
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000
 スレーブ keytool: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/keytool
 スレーブ orbd: /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/orbd
           :
  ====< 途中省略 >====
           :
 スレーブ tnameserv.1.gz: /usr/share/man/man1/tnameserv-java-1.6.0-openjdk.1.gz
 スレーブ unpack200.1.gz: /usr/share/man/man1/unpack200-java-1.6.0-openjdk.1.gz
/usr/java/jdk1.7.0_07/bin/java - 優先項目 17000
 スレーブ keytool: (null)
 スレーブ orbd: (null)
           :
  ====< 途中省略 >====
           :
 スレーブ tnameserv.1.gz: (null)
 スレーブ unpack200.1.gz: (null)
現在の「最適」バージョンは /usr/java/jdk1.7.0_07/bin/java です。

独自にインストールした Java が追加され、さらに「最適」バージョンに設定されたことが分かる。

9. alternatives の設定

最初はデフォルトでインストールされている Open JDK が有効になっている("+“記号が付いている)はずです。 2 を入力して、独自にインストールした Java を有効にする。

1
2
3
4
5
6
7
8
9
10
# alternatives --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
 + 1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
*  2           /usr/java/jdk1.7.0_07/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

10. Java バージョンの再確認

使用可能な Java のバージョンを確認してみる。

1
2
3
4
# java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

独自にインストールした Java のバージョンが表示された。

11. テストソース作成

コンパイル・実行テスト用のソースを作成する。 【 ファイル名:HelloWorld.java 】

1
2
3
4
5
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World !!");
  }
}

12. コンパイル&実行

以下のようにコンパイル・実行してみる。

1
2
3
# javac HelloWorld.Java
# java HelloWorld
Hello World !!

これで、Scientific Linux で Java ソースをコンパイルできるようになりました。

以上。

Comments