简体   繁体   English

Eclipse无法启动

[英]Eclipse fails to start

When I try to start Eclipse Juno on Windows 7 a messagebox saying "An error occured. See the log file" appears and eclipse won't start. 当我尝试在Windows 7上启动Eclipse Juno时,会出现一个消息框,显示“出现错误。请参阅日志文件”,eclipse将无法启动。 I tried either renaming my workspace folder or change eclipse workspace settings stored in eclipse_root_folder\\configuration.settings\\org.eclipse.core.net.prefs but it doesn't work. 我尝试重命名我的工作区文件夹或更改存储在eclipse_root_folder \\ configuration.settings \\ org.eclipse.core.net.prefs中的eclipse工作区设置,但它不起作用。 I have been using this for 2 months and this didn't happen before. 我已经使用了2个月,这在以前没有发生过。 Any solution? 有解决方案吗

!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)
  • I have the latest version of java 我有最新版本的java
  • /eclipsepath/eclipse.exe -clean [this isn't working] /eclipsepath/eclipse.exe -clean [这不行]
  • I haven't made any changes on my pc 我没有对我的电脑进行任何更改

Eclipse stores a copy of your project in it's cache. Eclipse将项目的副本存储在其缓存中。 It can happen when Eclipse crashes (that happens) that this cache is corrupted and thus Eclipse won't start again. 当Eclipse崩溃(发生这种情况)时,可能会发生此缓存已损坏,因此Eclipse将无法再次启动。 Starting with '--clean' somethimes fixes this but not always. 从' - clean'开始,somethimes修复了这个问题,但并非总是如此。

In my experience one solution is to delete the project's cache. 根据我的经验,一种解决方案是删除项目的缓存。 Look for the '.metadata' folder in your workspace and delete it while Eclipse is NOT running (make a backup just in case). 查找工作区中的“.metadata”文件夹,并在Eclipse未运行时将其删除(以防万一)进行备份。 Then launch Eclipse again. 然后再次启动Eclipse。

You may loose your Run Configurations preferences which you can then restore from your backup copy of ".metadata/.plugins/org.eclipse.debug.core/.launches". 您可能会丢失“运行配置”首选项,然后可以从“.metadata / .plugins / org.eclipse.debug.core / .launches”的备份副本还原。

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

/eclipsepath/eclipse.exe -clean

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 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 -product org.eclipse.epp.package.jee.product

No you don't have latest version of java, your eclipse is using java 1.6, Latest java is 1.8 不,你没有最新版本的java,你的eclipse使用的是java 1.6,最新的java是1.8

There seems to be some mismatch ie. 似乎有一些不匹配,即。 OS is win32 and arch is x86_64. 操作系统是win32,arch是x86_64。 Make sure that if OS is 32 bit, Java and Eclipse is also 32 bit 确保如果OS是32位,Java和Eclipse也是32位

Are you sure you downloaded the Eclipse/ JAVA version for the right processor architecture? 您确定为适当的处理器架构下载了Eclipse / JAVA版本吗?
Looks like try to run a mixture of 32-bit and 64-bit applications on your system, maybe you updated your eclipse/ java/ etc. or added some new library? 看起来像尝试在您的系统上运行32位和64位应用程序的混合,也许您更新了您的eclipse / java /等或添加了一些新的库?

You're probably not using the version of Java that you think you are. 您可能没有使用您认为自己的Java版本。 You need to specify to Eclipse what JVM to use, via eclipse.ini . 您需要通过eclipse.ini向Eclipse指定要使用的JVM。 Otherwise it can pick up unintended versions from your system path. 否则,它可以从您的系统路径中获取非预期的版本。

in your files manager do the following thing. 在您的文件管理器中执行以下操作。

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

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

在终端中运行以下命令

/full/path/to/second/eclipse -clean

When even "clean" command fails, I have had good results with 即使“干净”命令失败,我也有很好的结果

eclipse -clean -cleanPersistedState

Apart from that, I'd use FileMon by SysInternals (or ProcMon, or similar utility) to try and see what operation exactly is failing, or where is Eclipse looking for its data. 除此之外,我将使用SysInternals(或ProcMon或类似实用程序)的FileMon来尝试查看哪些操作确实失败,或者Eclipse在哪里查找其数据。

- 当日食崩溃后重新开始时,清洁帮助了我。

Have you tried a restore of your computer to yesterday? 您是否尝试过将计算机还原到昨天? It's certainly not as elegant as some of these other answers, but I bet something changed that you're just not thinking about (or noticing - background update, perhaps?), and a restore will fix whatever that was. 这当然不是因为一些其他的答案一样优雅,但我敢打赌, 事情发生了转变,你只是没有考虑到(或注意到? -后台更新,也许),并恢复将修复不管是什么样。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM