LeopardにJava6のJDKを入れても、Java系のコマンドはJava5が実行されていた。
JyazoはJava6で導入された機能を使っており、本来ならJava5の環境ではコンパイルできないのだが、Eclipseが賢いのかMavenが賢いのかわからないが、ヨロシクやってくれていた。
しかし、Mavenのプラグイン、maven-release-pluginのrelease:prepareゴールを実行する必要が出てきた。
EclipseとMavenを連携させるm2eclipseというEclipseのプラグイン上で設定できれば良いのだが、設定方法がわからない。
terminal上から実行しようとしても、バージョンがあわないので怒られる。
仕方がないので、LeopardのJava環境がJava6にならないかと調べてみた。
細かい事は省いて重要な部分だけ。
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
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/
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
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/
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」のリンク先を変更すればなんとかなるかもしれないので試してみる。
まあ、「CurrentJDK」のリンク先を変更すればなんとかなるかもしれないので試してみる。
% cd /System/Library/Frameworks/JavaVM.framework/Versions/
% sudo rm CurrentJDK
% sudo ln -s 1.6.0 CurrentJDK
% sudo rm CurrentJDK
% sudo ln -s 1.6.0 CurrentJDK
で、「maven-release-plugin」を実行してみたらエラーも起きずに動作した。
問題解消。
問題解消。