javaの開発環境JDKをインストール ~ ubuntu Linux
(2009年12月22日)
ubuntu8.10のデスクトップ版にはjavaの開発環境のjdkが入っていなかったのでインストールしました。
*javaのランタイム(jre)は最初から入っていました。
$ java --version java version "1.5.0" gij (GNU libgcj) version 4.3.2 Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
まず、javacコマンドを実行してjdkのパッケージ名一覧を見てみます。
$ javac プログラム 'javac' は以下のパッケージで見つかりました: * gcj-4.2 * java-gcj-compat-dev * jikes-sablevm * kaffe * ecj * jikes-sun * gcj-4.3 * cacao-oj6-jdk * jikes-classpath * openjdk-6-jdk * jikes-kaffe * sun-java5-jdk * sun-java6-jdk 次の操作を試してください: sudo apt-get install bash: javac: command not found
結構色々あるね・・・まぁsunの最新バージョンが一番王道だと思うのでsun-java6-jdkをインストールすることにします。
インストールはapt-getコマンドでしました。
インストールはapt-getコマンドでしました。
$ sudo apt-get install sun-java6-jdk パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: gsfonts-x11 odbcinst1debian1 sun-java6-bin sun-java6-jre unixodbc xutils-dev 提案パッケージ: sun-java6-demo sun-java6-doc sun-java6-source sun-java6-plugin ia32-sun-java6-plugin sun-java6-fonts libmyodbc odbc-postgresql libct1 以下のパッケージが新たにインストールされます: gsfonts-x11 odbcinst1debian1 sun-java6-bin sun-java6-jdk sun-java6-jre unixodbc xutils-dev アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。 54.7MB のアーカイブを取得する必要があります。 この操作後に追加で 162MB のディスク容量が消費されます。 続行しますか [Y/n]? y 取得:1 http://jp.archive.ubuntu.com intrepid-updates/multiverse sun-java6-jre 6-14-0ubuntu1.8.10 [6421kB] 取得:2 http://jp.archive.ubuntu.com intrepid/main odbcinst1debian1 2.2.11-16build2 [66.3kB] 取得:3 http://jp.archive.ubuntu.com intrepid/main unixodbc 2.2.11-16build2 [295kB] 取得:4 http://jp.archive.ubuntu.com intrepid-updates/multiverse sun-java6-bin 6-14-0ubuntu1.8.10 [29.1MB] 取得:5 http://jp.archive.ubuntu.com intrepid-updates/multiverse sun-java6-jdk 6-14-0ubuntu1.8.10 [18.5MB] ・・・ Processing triggers for man-db ... Processing triggers for menu ... Processing triggers for doc-base ... Processing 1 added doc-base file(s)... Registering documents with scrollkeeper... odbcinst1debian1 (2.2.11-16build2) を設定しています ... unixodbc (2.2.11-16build2) を設定しています ... xutils-dev (1:7.4+3) を設定しています ... gsfonts-x11 (0.20ubuntu1) を設定しています ... sun-java6-bin (6-14-0ubuntu1.8.10) を設定しています ... sun-java6-jre (6-14-0ubuntu1.8.10) を設定しています ... sun-java6-jdk (6-14-0ubuntu1.8.10) を設定しています ... Processing triggers for libc6 ... ldconfig deferred processing now taking place Processing triggers for menu ...
これでインストールは完了です。途中でライセンス確認画面とjreの確認画面(下の画像)が出ました。
jreは元々ubuntuに入ってると最初に書きましたけど、最新バージョンの1.6.0も入れてくれるみたいなので同時にインストールしました。

javaソースのコンパイルコマンドjavacのバージョン情報を確認してみます。
jreは元々ubuntuに入ってると最初に書きましたけど、最新バージョンの1.6.0も入れてくれるみたいなので同時にインストールしました。

javaソースのコンパイルコマンドjavacのバージョン情報を確認してみます。
$ javac -version javac 1.6.0_14
次にテストプログラム(helloWorld.java)をコンパイルしてみます。
$echo helloWorld.java
class helloWorld {
public static void main(String[] args) {
System.out.println("Hello World!(ubuntu)");
}
}
$ javac helloWorld.java
helloWorld.javaのコンパイルに成功するとhelloWorld.classというクラスファイルができます。
javaコマンドでこのクラスファイルを実行してみます。
javaコマンドでこのクラスファイルを実行してみます。
$ java helloWorld Hello World!(ubuntu)
コンパイル~実行まで正常に動作しているようです。
ただ、jreのバージョンを確認してみたら新規にインストールした1.6になっていません。
ただ、jreのバージョンを確認してみたら新規にインストールした1.6になっていません。
$ java -version java version "1.5.0" gij (GNU libgcj) version 4.3.2 Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
既存のjreが使われているようで新規インストールしたjre1.6は無視されているみたいです。
ですので、update-alternativesコマンドで使用するjreを切り替えます。
*update-alternativesコマンドでは複数のバージョンを持つプログラム・コマンドツールを切り替えることができます。
ですので、update-alternativesコマンドで使用するjreを切り替えます。
*update-alternativesコマンドでは複数のバージョンを持つプログラム・コマンドツールを切り替えることができます。
$ sudo update-alternatives --config java
`java' を提供する 3 個の alternatives があります。
選択肢 alternative
-----------------------------------------------
1 /usr/bin/gij-4.3
*+ 2 /usr/lib/jvm/java-gcj/jre/bin/java
3 /usr/lib/jvm/java-6-sun/jre/bin/java
ありました。3番が新規インストールしたjreみたいなので選択します。
デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 3 Using '/usr/lib/jvm/java-6-sun/jre/bin/java' to provide 'java'.
もう一度jreのバージョンを確認します。
$ java -version java version "1.6.0_14" Java(TM) SE Runtime Environment (build 1.6.0_14-b08) Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
変更が確認できました。
