« Mac版Gyazoでウィンドウを綺麗にキャプチャする方法 | メイン | MavenとGitHubの連携 »

LeopardでJava6を標準のJavaにする

LeopardにJava6のJDKを入れても、Java系のコマンドはJava5が実行されていた。
JyazoはJava6で導入された機能を使っており、本来ならJava5の環境ではコンパイルできないのだが、Eclipseが賢いのかMavenが賢いのかわからないが、ヨロシクやってくれていた。
しかし、Mavenのプラグイン、maven-release-pluginのrelease:prepareゴールを実行する必要が出てきた。
EclipseとMavenを連携させるm2eclipseというEclipseのプラグイン上で設定できれば良いのだが、設定方法がわからない。
terminal上から実行しようとしても、バージョンがあわないので怒られる。
仕方がないので、LeopardのJava環境がJava6にならないかと調べてみた。
細かい事は省いて重要な部分だけ。
% which java
/usr/bin/java
 ls -al /usr/bin/ | grep ja
lrwxr-xr-x    1 root   wheel           73  9 12 05:58 jar@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jar
lrwxr-xr-x    1 root   wheel           79  9 12 05:58 jarsigner@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jarsigner
lrwxr-xr-x    1 root   wheel           74  9 12 05:58 java@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
lrwxr-xr-x    1 root   wheel           75  9 12 05:58 javac@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
-r-xr-xr-x    1 root   wheel        50976  2 20  2008 javaconfig*
lrwxr-xr-x    1 root   wheel           77  9 12 05:58 javadoc@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javadoc
lrwxr-xr-x    1 root   wheel           75  9 12 05:58 javah@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javah
lrwxr-xr-x    1 root   wheel           75  9 12 05:58 javap@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javap
-r-xr-xr-x    1 root   wheel        72336  2 20  2008 javatool*
lrwxr-xr-x    1 root   wheel           76  9 12 05:58 javaws@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws
「/usr/bin/」直下にはjava本体はなく、「/System/Library/Frameworks/JavaVM.framework/Versions/Current/」配下のコマンドにリンクが張られていることがわかった。
% ls -al /System/Library/Frameworks/JavaVM.framework 
total 72
drwxr-xr-x   12 root  wheel   408  9 12 05:59 ./
drwxr-xr-x  107 root  wheel  3638  1  4  2008 ../
lrwxr-xr-x    1 root  wheel    27  9 12 05:58 Classes@ -> Versions/CurrentJDK/Classes
lrwxr-xr-x    1 root  wheel    24  9 12 05:59 CodeResources@ -> Versions/A/CodeResources
lrwxr-xr-x    1 root  wheel    28  9 12 05:58 Commands@ -> Versions/CurrentJDK/Commands
lrwxr-xr-x    1 root  wheel    27  9 12 05:59 Frameworks@ -> Versions/Current/Frameworks
lrwxr-xr-x    1 root  wheel    24  9 12 05:59 Headers@ -> Versions/Current/Headers
lrwxr-xr-x    1 root  wheel    24  9 12 05:58 Home@ -> Versions/CurrentJDK/Home
lrwxr-xr-x    1 root  wheel    23  9 12 05:59 JavaVM@ -> Versions/Current/JavaVM
lrwxr-xr-x    1 root  wheel    29  9 12 05:58 Libraries@ -> Versions/CurrentJDK/Libraries
lrwxr-xr-x    1 root  wheel    26  9 12 05:59 Resources@ -> Versions/Current/Resources
drwxr-xr-x   14 root  wheel   476  9 12 05:59 Versions/
「Version」配下が怪しいですな。
% ls -al /System/Library/Frameworks/JavaVM.framework/Versions 
total 56
drwxr-xr-x  14 root  wheel  476  9 12 05:59 ./
drwxr-xr-x  12 root  wheel  408  9 12 05:59 ../
lrwxr-xr-x   1 root  wheel    5  9 12 05:58 1.3@ -> 1.3.1
drwxr-xr-x   3 root  wheel  102 11  3  2007 1.3.1/
lrwxr-xr-x   1 root  wheel    5  9 12 05:59 1.4@ -> 1.4.2
lrwxr-xr-x   1 root  wheel    3  5  9  2008 1.4.1@ -> 1.4
drwxr-xr-x   8 root  wheel  272  1  3  2008 1.4.2/
lrwxr-xr-x   1 root  wheel    5  9 12 05:59 1.5@ -> 1.5.0
drwxr-xr-x   8 root  wheel  272  1  3  2008 1.5.0/
lrwxr-xr-x   1 root  wheel    5  9 12 05:59 1.6@ -> 1.6.0
drwxr-xr-x   8 root  wheel  272  5  9  2008 1.6.0/
drwxr-xr-x   8 root  wheel  272  9 12 05:59 A/
lrwxr-xr-x   1 root  wheel    1  9 12 05:59 Current@ -> A
lrwxr-xr-x   1 root  wheel    3  9 12 05:58 CurrentJDK@ -> 1.5
古いバージョンのJavaも綺麗に整理されて配置されていた。「A」ディレクトリってなんでしょうな。
% ls -al /System/Library/Frameworks/JavaVM.framework/Versions/A/
total 528
drwxr-xr-x   8 root  wheel     272  9 12 05:59 ./
drwxr-xr-x  14 root  wheel     476 11 21 21:07 ../
-rw-r--r--   1 root  wheel    1524  7 31 09:35 CodeResources
drwxr-xr-x  37 root  wheel    1258  9 12 05:58 Commands/
drwxr-xr-x   4 root  wheel     136  6 27 18:09 Frameworks/
drwxr-xr-x  16 root  wheel     544  9 12 05:59 Headers/
-rwxr-xr-x   1 root  wheel  263120  7 31 09:35 JavaVM*
drwxr-xr-x  33 root  wheel    1122  9 12 05:59 Resources/
よくわからない。
まあ、「CurrentJDK」のリンク先を変更すればなんとかなるかもしれないので試してみる。
% cd /System/Library/Frameworks/JavaVM.framework/Versions/
% sudo rm CurrentJDK
% sudo ln -s 1.6.0 CurrentJDK
で、「maven-release-plugin」を実行してみたらエラーも起きずに動作した。
問題解消。

トラックバック

このエントリーのトラックバックURL:
http://www.kanasansoft.com/cgi/mt/mt-tb.cgi/265

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

Google

タグ クラウド