无法在Eclipse中打开工作区

5

我在使用Eclipse Kepler过程中遇到了崩溃问题。

现在我无法在请求的工作区打开Eclipse(在其他工作区可以正常打开)。

选择工作区后,会弹出一个消息框:

发生错误,请查看日志文件。...WORKSPACE/.metadata/.log

打开日志文件:

!SESSION 2015-03-19 17:10:55.171 -----------------------------------------------

eclipse.buildId=4.3.0.I20130605-2000
java.version=1.7.0_71
java.vendor=Oracle Corporation
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.core.resources 2 10035 2015-03-19 17:10:58.594
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY org.eclipse.osgi 4 0 2015-03-19 17:10:58.910
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (82).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
    at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
    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:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    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:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/Servers/Tomcat v7.0 Server at localhost-config/web.xml' not found.
    at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
    at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
    at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
    at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:88)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:816)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    .
    .
    .
    .
    .
    .
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:792)
    at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:518)
    at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:710)
    at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1530)
    at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
    at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2252)
    at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
    ... 29 more
Root exception:
org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/Servers/Tomcat v7.0 Server at localhost-config/web.xml' not found.
    at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
    at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
    at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
    at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:88)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:816)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    .
    .
    .
    .
    .
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:792)
    at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:518)
    at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:710)
    at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1530)
    at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
    at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2252)
    at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
    at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
    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:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    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:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

!ENTRY org.eclipse.osgi 4 0 2015-03-19 17:10:58.969
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
    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:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    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:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.resources (82).
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:124)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 14 more
Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.resources.ResourcesPlugin.start() of bundle org.eclipse.core.resources.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478)
    at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109)
    ... 23 more
Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/Servers/Tomcat v7.0 Server at localhost-config/web.xml' not found.
    at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
    at org.eclipse.core.internal.dtree.DeltaDataTree.getData(DeltaDataTree.java:585)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:50)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
    at org.eclipse.core.internal.dtree.NoDataDeltaNode.asBackwardDelta(NoDataDeltaNode.java:59)
    at org.eclipse.core.internal.dtree.DataDeltaNode.asBackwardDelta(DataDeltaNode.java:47)
    at org.eclipse.core.internal.dtree.DeltaDataTree.asBackwardDelta(DeltaDataTree.java:88)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:816)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    .
    .
    .
    .
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:815)
    at org.eclipse.core.internal.dtree.DeltaDataTree.reroot(DeltaDataTree.java:792)
    at org.eclipse.core.internal.watson.ElementTree.immutable(ElementTree.java:518)
    at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:710)
    at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1530)
    at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2503)
    at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2252)
    at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:439)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
    ... 29 more
  • 我尝试重新启动电脑两次(确保没有文件被锁定)。
  • 我尝试删除服务器文件夹。

我的最新工作未提交到SVN。

有任何建议吗?

谢谢,

5个回答

19

找到解决方案了!

我删除了文件:/.metadata/.plugins/org.eclipse.core.resources/.snap,问题得到解决。

谢谢!


3
太好了,成功了。我不得不删除.snap和36.snap,然后它就可以工作了。 - 2sb
像魔法一样运作良好。 - aName

6

删除.metadata\.plugins\org.eclipse.core.resources目录下的.snap文件后,程序可以正常运行。


0

我认为这是一个错误,你无法解决它。 尝试将工作区中的所有工作移动到新的工作区,因为这与捆绑包有关,这就是之前崩溃的原因,并且它不会在同一工作区上运行。


0

删除你的工作区。然后打开 Eclipse。 在删除之前备份。


谢谢,我没有意识到从头开始会帮助他解决问题,但不确定这样做如何解决问题,他无法启动Eclipse并在之前的上下文中工作,这就像说如果你的车坏了,就把它扔掉,买一辆新车,这是一个奇怪的解决问题的方式。 - tonio

0
我正在运行Red Hat Jboss Developer Studio 10.0(Eclipse的捆绑版本),并遇到了同样的问题。 在C:\workspace.metadata.plugins\org.eclipse.core.resources中删除*.snap文件对我有用。(这是在一个意外的重启后,我无法确认最后一个Eclipse关闭弹出窗口。) 至于为什么删除它会起作用,根据What are *.snap files in eclipse?所述: “*.snap文件代表IDE在运行时工作区状态的更改。这主要是为了eclipse崩溃恢复计划。当发生崩溃时,这些文件用于恢复eclipse工作区的状态。” 显然,如果崩溃足够严重,则快照文件将损坏,并且无法返回到最后一个良好的状态。但是,让Eclipse正常运行总比没有好。您可能需要重新导入您的项目(我不得不导入我的最新项目)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接