Mac OS XにおけるJavaのバージョン変更

0. 環境

  • Mac OS X 10.5.8
  • Java 1.5.0_26-b03(Before)
  • Java 1.6.0_22-b04-307(After)

※「ソフトウェア・アップデート」で最新版のJavaを取得できるので、事前に済ませておく


1. Javaのバージョンの確認

$ java -version


2. Java Preferences

  • 「Finder > アプリケーション > ユーティリティ > Java Preferences」にアクセス
  • 有効にするJavaのバージョンをチェック
  • 実行するJavaのバージョンをドラッグアンドドロップで優先順に上から並べる。一番上のバージョンが最優先に実行される。

※これでOKと思っていたら、アカウントによって優先的に実行されるバージョンが異なっていることが発覚。別の方法を模索。


3. シンボリックリンクの張り替え

$ ls -la /System/Library/Frameworks/JavaVM.framework/Versions/
total 64
drwxr-xr-x  14 root  wheel  476  2 23 16:39 ./
drwxr-xr-x  12 root  wheel  408  2 23 16:39 ../
lrwxr-xr-x   1 root  wheel    5  2 23 16:39 1.3@ -> 1.3.1
drwxr-xr-x   3 root  wheel  102  9 29  2007 1.3.1/
lrwxr-xr-x   1 root  wheel    5  2 17 14:14 1.4@ -> 1.4.2
lrwxr-xr-x   1 root  wheel    3 11 15 13:08 1.4.1@ -> 1.4
drwxr-xr-x   8 root  wheel  272 11 15 12:36 1.4.2/
lrwxr-xr-x   1 root  wheel    5  2 23 16:39 1.5@ -> 1.5.0
drwxr-xr-x   9 root  wheel  306  3  2 16:54 1.5.0/
lrwxr-xr-x   1 root  wheel    5  2 23 16:39 1.6@ -> 1.6.0
lrwxr-xr-x   1 root  wheel   59  2 23 16:39 1.6.0@ -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
drwxr-xr-x  10 root  wheel  340  2 23 16:39 A/
lrwxr-xr-x   1 root  wheel    1  2 23 16:39 Current@ -> A
lrwxr-xr-x   1 root  wheel    3  2 23 16:39 CurrentJDK@ -> 1.5
$ sudo ln -fsh 1.6 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
  • 再度、確認してみると確かにバージョンが切り替わった。これでOK。
$ ls -la /System/Library/Frameworks/JavaVM.framework/Versions/
total 64
drwxr-xr-x  14 root  wheel  476  3  2 16:54 ./
drwxr-xr-x  12 root  wheel  408  2 23 16:39 ../
lrwxr-xr-x   1 root  wheel    5  2 23 16:39 1.3@ -> 1.3.1
drwxr-xr-x   3 root  wheel  102  9 29  2007 1.3.1/
lrwxr-xr-x   1 root  wheel    5  2 17 14:14 1.4@ -> 1.4.2
lrwxr-xr-x   1 root  wheel    3 11 15 13:08 1.4.1@ -> 1.4
drwxr-xr-x   8 root  wheel  272 11 15 12:36 1.4.2/
lrwxr-xr-x   1 root  wheel    5  2 23 16:39 1.5@ -> 1.5.0
drwxr-xr-x   9 root  wheel  306  3  2 16:54 1.5.0/
lrwxr-xr-x   1 root  wheel    5  2 23 16:39 1.6@ -> 1.6.0
lrwxr-xr-x   1 root  wheel   59  2 23 16:39 1.6.0@ -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
drwxr-xr-x  10 root  wheel  340  2 23 16:39 A/
lrwxr-xr-x   1 root  wheel    1  2 23 16:39 Current@ -> A
lrwxr-xr-x   1 root  wheel    3  3  2 16:54 CurrentJDK@ -> 1.6
$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-9M3263)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)