UbuntuでEclipseが起動しない

UbuntuでEclipseを次のようにインストールしてから、起動しました。

 $ sudo apt-get install eclipse
 $ eclipse

このとき、エラーが発生してEclipseが起動しません。SWT libraryがロードできないようなのですが、SWTのインストールはできています。どうすればいいでしょうか。

!SESSION 2012-08-25 03:33:08.457 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.7.0_06
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=ja_JP
Command-line arguments:  -os linux -ws gtk -arch x86 -clean

!ENTRY org.eclipse.osgi 4 0 2012-08-25 03:33:20.723
!MESSAGE アプリケーション・エラー
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
	no swt-gtk-3740 in java.library.path
	no swt-gtk in java.library.path
	Can't load library: /home/xxxx/.swt/lib/linux/x86/libswt-gtk-3740.so
	Can't load library: /home/xxxx/.swt/lib/linux/x86/libswt-gtk.so

	at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
	at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
	at org.eclipse.swt.internal.C.<clinit>(C.java:21)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
	at org.eclipse.swt.widgets.Display.<clinit>(Display.java:132)
	at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:695)
	at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
	at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:153)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:95)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

UbuntuのEclipseは、OpneJDKで動作するため、Oracle JDKへパスを優先的に通して起動すると、エラーになってしまいます。/etc/eclipse.ini へ、vmを指定するのが簡単でしょう。

$ cat /etc/eclipse.ini 
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.100.dist
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
/usr/lib/jvm/java-6-openjdk/bin/java
-vmargs
-Xms40m
-Xmx384m
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins

eclipse起動用のスクリプトを用意してもよいでしょう。

#/bin/sh
PATH=/usr/lib/jvm/java-6-openjdk/bin:$PATH
eclipse
同じタグの記事: Eclipse
同じタグの記事: Ubuntu
同じカテゴリの記事: Java