MacでeclipseをSoyLatteで動かす

id:taichitaichiさんに、「大至急SoyLatte使ってeclipse沸かしとけや」と言われたので、こちらの記事を参考にして、SoyLatteを使ってEclipseを起動させてみました。

このリンク先の記事では、eclipseの実行ファイルを使わずに、ランチャーをjavaコマンドで実行するという手法を使っているようです。
確かに、.bashrcにJAVA_HOMEを指定したり、eclipseの設定ファイルの利用VM部分を書き換えたりして実行してみたのですが、どうも完全に無視されているようで、このやり方しかないのかもしれないです。

下準備

ということで、環境を用意します。用意するのは以下3つ。

eclipse3.4

Eclipseのサイトからダウンロードして、/Applications/java/eclipse3.4-java-ganymedeに展開

SoyLatte

(ちなみにですが、ダウンロードする時にユーザーとパスワードを聞かれます。これはダウンロードリンクの下に書いてある

Username: 'jrl' 
Password: 'I am a Licensee in good standing' 

ってやつを入れればOKです。

plugin内のファイル

eclipseのpluginフォルダ内にある「org.eclipse.swt.carbon.macosx_3.4なんとか.jar」を解凍して、適当なフォルダ(/Applications/java/jnilib)に展開。

起動

以上を用意した後に、以下のコマンドをコンソールから実行します。以下1行です。

/Applications/java/soylatte16-i386-1.0/bin/java -server -Xms128m -Xmx512m -XX:MaxPermSize=256m -Dosgi.requiredJavaVersion=1.5 -Dorg.eclipse.swt.internal.carbon.smallFonts -Djava.library.path=/Applications/java/jnilib -cp /Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar org.eclipse.equinox.launcher.Main -os macosx -ws carbon -arch x86 -showsplash -launcher /Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/eclipse -name Eclipse --launcher.library /Applications/eclipse3.4-java-ganymede/java/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.101.R34x_v20080731/eclipse_1115.so -startup /Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar -launcher /Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/eclipse -keyring /Applications/java/jnilib/.eclipse_keyring -consoleLog -showlocation -vm /Applications/java/soylatte16-i386-1.0.2

参考サイトのコマンドそのまんまで、下準備のところで展開したファイルパスに適宜書き変えてます。


うまく行くと、eclipseが起動します。

起動後に詳細構成を見ると、こんな感じです。

*** Platform Details:

*** System properties:
eclipse.buildId=M20080911-1700
eclipse.commands=-os
macosx
-ws
carbon
-arch
x86
-showsplash
-launcher
/Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/eclipse
-name
Eclipse
--launcher.library
/Applications/eclipse3.4-java-ganymede/java/Eclipse.app/Contents/MacOS//../../../plugins/org.eclipse.equinox.launcher.carbon.macosx_1.0.101.R34x_v20080731/eclipse_1115.so
-startup
/Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar
-launcher
/Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/eclipse
-keyring
/Applications/java/jnilib/.eclipse_keyring
-consoleLog
-showlocation
-vm
/Applications/java/soylatte16-i386-1.0.2
eclipse.consoleLog=true
eclipse.ee.install.verify=false
eclipse.home.location=file:/Applications/java/eclipse3.4-java-ganymede/
eclipse.launcher=/Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/eclipse
eclipse.p2.data.area=@config.dir/../p2
eclipse.p2.profile=PlatformProfile
eclipse.product=org.eclipse.platform.ide
eclipse.startTime=1229299219989
eclipse.vm=/Applications/java/soylatte16-i386-1.0.2
file.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=/
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/Applications/java/eclipse3.4-java-ganymede/Eclipse.app/Contents/MacOS/../../../plugins/org.eclipse.equinox.launcher_1.0.101.R34x_v20080819.jar
java.class.version=50.0
java.endorsed.dirs=/Applications/java/soylatte16-i386-1.0/jre/lib/endorsed
java.ext.dirs=/Applications/java/soylatte16-i386-1.0/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/Applications/java/soylatte16-i386-1.0/jre
java.io.tmpdir=/var/tmp/
java.library.path=/Applications/java/jnilib
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_03-p3-landonf_05_dec_2007_22_04-b00
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.6.0_03-p3
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=1.6.0_03-p3-landonf_05_dec_2007_22_04-b00
jna.platform.library.path=/usr/lib:/usr/lib
line.separator=

なんとなくうまく言ってる風です。

問題点

起動はするのですが、「liblocalfile_1_0_0.dylib」というのがないようで、リンケージエラーが出ます。

あと、CPUやメモリを使い切ってるわけではなさそうなのですが、なんだかすっごい重いです。

とりあえず

動いたということで。エラーや重い件に関しては、ちょっと調査してみたいと思います。