Eclipse 3.7.2不使用java 1.7.0_07

时间:2012-10-14 17:30:59

标签: java eclipse

  

可能重复:
  Eclipse cannot load SWT libraries

我的ubuntu 12.04使用默认的jdk 1.6.0_24和eclipse indigo 3.7.2。 现在,出于研究原因,我必须使用新的java jdk 1.7.0_07,所以我更新了这样的jdk:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

和java正确更新于1.7.0_07。 问题是现在Eclipse现在正在运行。 当我启动它时,我收到了这个错误:

An error has occurred. See the log file
/home/kira/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1350235337372.log

所以我不得不再次降级java 1.6.0_24。 我也尝试通过从oracle下载源代码然后更改PATH变量来安装它,但结果是一样的。

为什么日食不再起作用了? 请帮帮我,我要开始一个项目,我必须使用新的java。 这是日志:

!SESSION 2012-10-14 19:25:10.631 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.7.0_07
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=it_IT
Command-line arguments:  -os linux -ws gtk -arch x86

!ENTRY org.eclipse.osgi 4 0 2012-10-14 19:25:14.472
!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/kira/.swt/lib/linux/x86/libswt-gtk-3740.so
Can't load library: /home/kira/.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)     在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)     在org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)     在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)     在java.lang.reflect.Method.invoke(Method.java:601)     在org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)     在org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)     在org.eclipse.equinox.launcher.Main.run(Main.java:1410)

感谢

2 个答案:

答案 0 :(得分:1)

Eclipse可以为您的程序使用不同于自身运行的JVM(这在维护旧程序时非常有用)。

您可以直接从Oracle下载适用于您平台的Oracle Java(只需解压缩到目录,而不是打包由管理程序安装的那个),然后运行它以接受许可并解压到目录。

然后,您可以将该dir添加到Installed JRE的首选项面板,并将其作为默认JVM进行检查。然后,您的应用程序将使用该JVM进行编译,而不是用于运行Eclipse的应用程序。

(错误消息的原因是因为Eclipse使用本机库(C而不是Java),但升级尝试不匹配)

答案 1 :(得分:0)

您可以使用java 1.6运行eclipse,对于eclipse中的java项目,您可以将jdk配置为java 1.7

将java 7添加到eclipse jre列表,首选项&gt; java&gt;安装jre&gt;加 并将其设为默认