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