Eclipse将无法打开“发生错误”?

时间:2015-06-18 12:07:53

标签: java eclipse

我在Mac(Yosemite)上运行Eclipse Luna。

现在已经使用Eclipse几个月了,当我今天早上打开Eclipse时,我在启动画面后弹出一个“发生了错误,请参阅日志文件。”

我尝试了什么:

  • 使用-clean参数运行Eclipse

  • 我在资源元数据文件夹中没有要删除的.snap文件

  • 完全删除了我的工作区(好了,重命名了)

虽然它没有通过启动画面。

以下是日志文件以防有用:

!SESSION 2015-06-18 07:55:02.645
----------------------------------------------- eclipse.buildId=4.4.2.M20150204-1700 java.version=1.7.0_67
java.vendor=Oracle Corporation BootLoader constants: OS=macosx,
ARCH=x86_64, WS=cocoa, NL=en_US Framework arguments:  -product
org.eclipse.epp.package.java.product -keyring
/Users/ralph/.eclipse_keyring -showlocation Command-line arguments: 
-os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.java.product -keyring
/Users/ralph/.eclipse_keyring -showlocation

!ENTRY org.eclipse.osgi 4 0 2015-06-18 07:55:06.268 !MESSAGE
Application error !STACK 1 java.lang.ClassFormatError: Invalid pc in LineNumberTable in class file org/eclipse/swt/widgets/Button
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:550)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
at java.lang.Class.getDeclaredMethods0(Native Method) 
at java.lang.Class.privateGetDeclaredMethods(Class.java:2570) 
at java.lang.Class.getMethod0(Class.java:2813) 
at java.lang.Class.getMethod0(Class.java:2822)
at java.lang.Class.getMethod(Class.java:1663)
at org.eclipse.ui.internal.WorkbenchPlugin.getSplashShell(WorkbenchPlugin.java:1346)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:114)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

2 个答案:

答案 0 :(得分:1)

你是否用任务管理器杀死了jvm进程?如果您这样做,可能您的工作区已损坏。你必须建立一个新的工作区。它发生在我身上好几次。

答案 1 :(得分:0)

根据this stackoverflow question,他们能够通过切换JDK版本来解决类似的问题。你最近安装了新的JDK吗?