ねこびーんイデの説明で、MacのJavaVMのパスにシンボリックリンク張ればいい的な事が書いてあったので、試してみました。
はじめに、/System/Library/Frameworks/JavaVM.framework/Versions/SoyLatte/Homeにフォルダを作り、中にSoyLatteを流し込みます。
Homeに置くのは、最終的にHome/bin/javaが利用されるからです。
(このページがめちゃわかりやすいです)
つぎに、/System/Library/Frameworks/JavaVM.framework/Versions/CurrentVersionに、SoyLatteのシンボリックリンクを張ります。
Versionsフォルダの中はこんな感じ
lrwxr-xr-x 1 root wheel 5 11 30 19:11 1.3 -> 1.3.1 drwxr-xr-x 3 root wheel 102 7 18 17:51 1.3.1 lrwxr-xr-x 1 root wheel 5 11 30 19:11 1.4 -> 1.4.2 lrwxr-xr-x 1 root wheel 3 9 20 14:44 1.4.1 -> 1.4 drwxr-xr-x 8 root wheel 272 9 20 14:45 1.4.2 lrwxr-xr-x 1 root wheel 5 11 30 19:11 1.5 -> 1.5.0 drwxr-xr-x 8 root wheel 272 12 16 01:21 1.5.0 lrwxr-xr-x 1 root wheel 5 11 30 19:11 1.6 -> 1.6.0 drwxr-xr-x 8 root wheel 272 11 30 19:11 1.6.0 drwxr-xr-x 8 root wheel 272 11 30 19:11 A lrwxr-xr-x 1 root wheel 1 11 30 19:11 Current -> A lrwxr-xr-x 1 root wheel 8 12 16 00:47 CurrentJDK -> SoyLatte drwxr-xr-x 4 root wheel 136 12 16 08:06 SoyLatte
これで、SoyLatte以下のjavaが利用されるはずです。
という事でおもむろに起動すると、がっつりエラーになりました。
コマンドラインで実行すると、
_NSJVMLoadLibrary: NSAddLibrary failed for /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Libraries/libjvm.dylib JavaVM FATAL: Failed to load the jvm library.
というエラーです。
なんとなく、Librariesフォルダからlibjvm.dylibというのを読もうとして失敗しているようです。
libjvm.dylibがSoyLatteに入ってないかどうか確認した所、
./Home/jre/lib/i386/client/libjvm.dylib ./Home/jre/lib/i386/server/libjvm.dylib
に入っていました。clientとserverと書いてあるので、どうやらJVM本体のようです。
とりあえずLibrariesフォルダもないし、中のファイルもないので、ひとまずLibrariesフォルダを作成し、つぎに./Home/jre/lib/i386/client/libjvm.dylibへのシンポリックリンクを作成してみました。
結果、
JavaVM FATAL: lookup of function JNI_GetDefaultJavaVMInitArgs_Impl failed.
で終了しました。
うーん、libjvm.dylibだけじゃだめなんですね。。。
ひとまず時間切れなので、続きはまた後日やります。