Java 为什么Eclipse3.2在启动时抛出错误

Java 为什么Eclipse3.2在启动时抛出错误,java,eclipse,Java,Eclipse,我有一台windows 32位计算机,刚刚下载了Eclipse3.2SDK,无法启动。它会立即向日志文件抛出以下错误 我尝试过用Java1.5VM启动它,但仍然没有任何运气。有什么想法吗?谢谢 !SESSION 2012-08-07 11:10:28.084 ----------------------------------------------- eclipse.buildId=@build@ java.version=1.7.0_05 java.vendor=Oracle Corpora

我有一台windows 32位计算机,刚刚下载了Eclipse3.2SDK,无法启动。它会立即向日志文件抛出以下错误

我尝试过用Java1.5VM启动它,但仍然没有任何运气。有什么想法吗?谢谢

!SESSION 2012-08-07 11:10:28.084 -----------------------------------------------
eclipse.buildId=@build@
java.version=1.7.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY system.bundle 4 0 2012-08-07 11:10:28.519
!MESSAGE FrameworkEvent.ERROR
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start() of bundle system.bundle.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1014)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:970)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:549)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:484)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:275)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.launch(StartLevelManager.java:245)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.resume(SystemBundle.java:155)
    at org.eclipse.osgi.framework.internal.core.Framework.launch(Framework.java:503)
    at org.eclipse.osgi.framework.internal.core.OSGi.launch(OSGi.java:51)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:289)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
Caused by: java.lang.IllegalStateException
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.checkSystemState(BaseStorage.java:654)
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.getStateManager(BaseStorage.java:634)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.getPlatformAdmin(BaseAdaptor.java:385)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorHook.frameworkStart(EclipseAdaptorHook.java:80)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.frameworkStart(BaseAdaptor.java:260)
    at org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start(SystemBundleActivator.java:55)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:995)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:989)
    ... 18 more
Root exception:
java.lang.IllegalStateException
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.checkSystemState(BaseStorage.java:654)
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.getStateManager(BaseStorage.java:634)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.getPlatformAdmin(BaseAdaptor.java:385)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAdaptorHook.frameworkStart(EclipseAdaptorHook.java:80)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.frameworkStart(BaseAdaptor.java:260)
    at org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start(SystemBundleActivator.java:55)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:995)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:989)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:970)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:549)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:484)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:275)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.launch(StartLevelManager.java:245)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.resume(SystemBundle.java:155)
    at org.eclipse.osgi.framework.internal.core.Framework.launch(Framework.java:503)
    at org.eclipse.osgi.framework.internal.core.OSGi.launch(OSGi.java:51)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:289)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)

!ENTRY org.eclipse.osgi 4 0 2012-08-07 11:10:28.524
!MESSAGE Startup error
!STACK 1
java.lang.RuntimeException: Exception in org.eclipse.osgi.framework.internal.core.SystemBundleActivator.start() of bundle system.bundle.
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:484)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:275)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.launch(StartLevelManager.java:245)
    at org.eclipse.osgi.framework.internal.core.SystemBundle.resume(SystemBundle.java:155)
    at org.eclipse.osgi.framework.internal.core.Framework.launch(Framework.java:503)
    at org.eclipse.osgi.framework.internal.core.OSGi.launch(OSGi.java:51)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:289)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
!SESSION Tue Aug 07 11:10:28 EDT 2012 ------------------------------------------
!ENTRY org.eclipse.core.launcher 4 0 2012-08-07 11:10:28.526
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.NullPointerException
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:186)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
更新 在重新安装JVM并使用-vm path参数之后,我仍然得到以下错误

java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:65)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)

我能想到的唯一一件事就是从重新安装java,并从重新下载和安装eclipse(最新版本)。让我知道它是否有效

虽然这是一个老话题,但我会为万一有人在谷歌上搜索到这个问题做出贡献。在安装Java7更新11之后,我开始出现这个问题。我卸载了update 11,现在eclipse工作正常。我从\Program Files\eclipse运行eclipse。

我在Ubuntu上遇到了同样的问题,通过运行以下命令解决了这个问题:

eclipse -clean

这个问题可以如下解决

编辑eclipse安装目录中的eclipse.ini文件,并插入-clean作为第一行


这将迫使Eclipse运行。然后,您可以从.ini文件中删除-clean行,您需要设置您正在使用的JDK的版本

不知道它会起作用

我们将其用于基于eclipse的第三方应用程序(非常旧),但它有一个launcher.ini,您可以在其中指定vm args等

我刚刚添加了以下内容作为第一行。 -虚拟机
C:\Program Files\Java\jdk1.5.0\u 22\bin\javaw.exe

我可以问一下为什么从3.2开始吗?4.2已经可用,AFAIK 3.6+3.7正在普遍使用。。。3.2已经有将近十年的历史了。希望这个链接有帮助:我正在开发一个插件,需要支持3.2gaspyr:我在调试时尝试了一些不同的标志(-clean,-vm,etc),但这里有一些可能会有所帮助。我会给他们一个尝试性的选择,就是使用一个更新的eclipse,带有链接到3.2特性和插件。也许你不应该使用Eclipse3.2,而应该使用4.2。