Eclipse无法启动

时间:2013-03-11 13:28:26

标签: java eclipse

当我尝试在Windows 7上启动Eclipse Juno时,会出现一条消息框,显示“出现错误。请参阅日志文件”,eclipse将无法启动。我尝试重命名我的工作区文件夹或更改存储在eclipse_root_folder \ configuration.settings \ org.eclipse.core.net.prefs中的eclipse工作区设置,但它不起作用。我已经使用了2个月,这在以前没有发生过。任何解决方案?

!SESSION 2013-03-11 15:17:16.709 -----------------------------------------------
eclipse.buildId=M20120914-1800
java.version=1.6.0_25
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.osgi 4 0 2013-03-11 15:17:20.919
!MESSAGE Application error
!STACK 1
java.lang.NoSuchMethodError: sun.misc.ProxyGenerator$ConstantPool.seTReadOnly()V
    at sun.misc.ProxyGenerator.generateClassFile(Unknown Source)
    at sun.misc.ProxyGenerator.generateProxyClass(Unknown Source)
    at java.lang.reflect.Proxy.getProxyClass(Unknown Source)
    at java.lang.reflect.Proxy.newProxyInstance(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.annotationForMap(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations2(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(Unknown Source)
    at java.lang.Class.initAnnotationsIfNecessary(Unknown Source)
    at java.lang.Class.getAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationType.<init>(Unknown Source)
    at sun.reflect.annotation.AnnotationType.getInstance(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations2(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(Unknown Source)
    at java.lang.Class.initAnnotationsIfNecessary(Unknown Source)
    at java.lang.Class.getAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationType.<init>(Unknown Source)
    at sun.reflect.annotation.AnnotationType.getInstance(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations2(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(Unknown Source)
    at java.lang.Class.initAnnotationsIfNecessary(Unknown Source)
    at java.lang.Class.getAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationType.<init>(Unknown Source)
    at sun.reflect.annotation.AnnotationType.getInstance(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotation(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations2(Unknown Source)
    at sun.reflect.annotation.AnnotationParser.parseAnnotations(Unknown Source)
    at java.lang.reflect.Field.declaredAnnotations(Unknown Source)
    at java.lang.reflect.Field.getAnnotation(Unknown Source)
    at java.lang.reflect.AccessibleObject.isAnnotationPresent(Unknown Source)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processFields(InjectorImpl.java:617)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processClass(InjectorImpl.java:575)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processClass(InjectorImpl.java:568)
    at org.eclipse.e4.core.internal.di.InjectorImpl.processClassHierarchy(InjectorImpl.java:556)
    at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:87)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:319)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:240)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161)
    at org.eclipse.e4.core.services.translation.TranslationProviderFactory.bundleTranslationService(TranslationProviderFactory.java:34)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:417)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:434)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:182)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:557)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    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:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    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.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
  • 我有最新版本的java
  • /eclipsepath/eclipse.exe -clean [这不能正常工作]
  • 我的电脑没有任何改变

10 个答案:

答案 0 :(得分:6)

Eclipse将项目的副本存储在其缓存中。当Eclipse崩溃(发生这种情况)时,可能会发生此缓存已损坏,因此Eclipse不会再次启动。从&#39;开始 - 清洁&#39; somethimes解决了这个问题,但并非总是如此。

根据我的经验,一种解决方案是删除项目的缓存。寻找&#39; .metadata&#39;工作区中的文件夹,并在Eclipse未运行时将其删除(以防万一)进行备份。然后再次启动Eclipse。

您可能会丢失“运行配置”首选项,然后可以从&#34; .metadata / .plugins / org.eclipse.debug.core / .launches&#34;的备份副本中恢复。

答案 1 :(得分:3)

尝试在命令提示符中执行以下行:

/eclipsepath/eclipse.exe -clean

答案 2 :(得分:2)

  

eclipse.buildId = M20120914-1800 java.version = 1.6.0_25 java.vendor = Sun   Microsystems Inc. BootLoader常量:OS = win32,ARCH = x86_64,   WS = win32,NL = en_US框架参数:-product   org.eclipse.epp.package.jee.product命令行参数: -os win32   -ws win32 -arch x86_64 - 产品org.eclipse.epp.package.jee.product

不,你没有最新版本的java,你的eclipse使用的是java 1.6,最新的java是1.8

似乎有一些不匹配即。操作系统是win32,arch是x86_64。确保如果OS是32位,Java和Eclipse也是32位

答案 3 :(得分:1)

您确定为适当的处理器架构下载了Eclipse / JAVA版本吗? 看起来试图在你的系统上运行32位和64位应用程序的混合,也许你更新了你的eclipse / java /等或添加了一些新的库?

答案 4 :(得分:1)

您可能没有使用您认为自己的Java版本。您需要通过eclipse.ini向Eclipse指定要使用的JVM。否则,它可以从您的系统路径中获取非预期的版本。

答案 5 :(得分:1)

在文件管理器中执行以下操作。

rm YOUR_WORKSPACE / .metadata / .plugins / org.eclipse.core.resources / .snap

rm /home/anoop/workspace2/.metadata/.plugins/org.eclipse.core.resources/.snap

答案 6 :(得分:1)

在终端

中运行以下命令
/full/path/to/second/eclipse -clean

答案 7 :(得分:1)

甚至&#34;清洁&#34;命令失败,我用

得到了很好的结果
eclipse -clean -cleanPersistedState

除此之外,我还使用SysInternals(或ProcMon或类似实用程序)的FileMon来尝试查看哪些操作确实失败,或者Eclipse在哪里查找其数据。

答案 8 :(得分:1)

- 当日食崩溃后重启时,干净帮助了我。

答案 9 :(得分:0)

您是否尝试过将计算机还原到昨天?它肯定不如其他一些答案那么优雅,但我打赌某些改变了你只是没有考虑(或注意到 - 背景更新,也许?),以及恢复将解决任何问题。