Ubuntu12.04无法启动Eclipse,转

转自:http://apps.hi.baidu.com/share/detail/60734620

Ubuntu12.04上安装了Oracle JDK7,然后从Ubuntu Software Center中安装了Indigo版的eclipse. 启动eclipse时报错,log如下:

!SESSION 2012-05-05 14:41:14.930 -----------------------------------------------

eclipse.buildId=I20110613-1736

java.version=1.7.0_03

java.vendor=Oracle Corporation

BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US

Command-line arguments: -os linux -ws gtk -arch x86

!ENTRY org.eclipse.osgi 4 0 2012-05-05 14:41:16.867

!MESSAGE Application error

!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/wuf/.swt/lib/linux/x86/libswt-gtk-3740.so

Can't load library: /home/wuf/.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)

解决办法如下:

X86_64(64位):

代码:cp /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64

X86(32位):

代码:cp /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86