Eclipse 不会启动,日志错误说: ObjectNotFoundException: Tree 元素

昨晚我的机器在 Eclipse Galileo 开着的时候重启了,没什么大不了的,对吧?

今天早上,我启动了我的机器并试图打开 Eclipse,但是没有打开,我看到了这个: alt text

错误日志表明,由于退出时没有保存更改而导致了某种问题。

如何让 Eclipse 打开并忽略那些未保存的更改?我甚至不能用 Eclipse 打开一个不属于这个项目的文本文件?一定有办法重置这种状态。

编辑:

我把这个问题归结为一个文件。当我删除下面的这个文件时,Eclipse 会打开,但是我的项目不见了。

.metadata\.plugins\org.eclipse.core.resources\.snap

我确实使用了 subversion 插件,但我不认为这是问题所在。下面是错误日志显示的内容(缩写) :

!SESSION 2010-08-17 10:13:01.718 -----------------------------------------------
eclipse.buildId=M20100211-1343
java.version=1.4.2_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_CA
Command-line arguments:  -os win32 -ws win32 -arch x86


!ENTRY org.eclipse.core.resources 2 10035 2010-08-17 10:13:02.656
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.


!ENTRY org.eclipse.osgi 4 0 2010-08-17 10:13:02.671
!MESSAGE An error occurred while automatically activating bundle org.eclipse.core.resources (33).
!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:806)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
...


Caused by: org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/reports/src/com/lang/reports/OnlineReport.java' not found.
at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
...


Root exception:
org.eclipse.core.internal.dtree.ObjectNotFoundException: Tree element '/reports/src/com/lang/reports/OnlineReport.java' not found.
at org.eclipse.core.internal.dtree.AbstractDataTree.handleNotFound(AbstractDataTree.java:257)
...


!ENTRY org.eclipse.osgi 4 0 2010-08-17 10:13:02.703
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContainer
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:114)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)


!ENTRY org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.eclipse.jdt.apt.core_3.3.202.R35x_v20091130-2300 [103] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.eclipse.jdt.apt.pluggable.core_1.0.201.R35x_v20090925-1100 [104] was not resolved.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing required bundle org.eclipse.jdt.apt.core_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.tool_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.apt.dispatch_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.apt.model_0.0.0.
!SUBENTRY 2 org.eclipse.jdt.apt.pluggable.core 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.apt.util_0.0.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.eclipse.jdt.apt.ui_3.3.200.v20090930-2100_R35x [105] was not resolved.
!SUBENTRY 2 org.eclipse.jdt.apt.ui 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing required bundle org.eclipse.jdt.apt.core_[3.2.0,4.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.eclipse.jdt.compiler.apt_1.0.201.R35x_v20090925-1100 [106] was not resolved.
!SUBENTRY 2 org.eclipse.jdt.compiler.apt 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing imported package org.eclipse.jdt.internal.compiler.tool_0.0.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.eclipse.jdt.compiler.tool_1.0.100.v_981_R35x [107] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.eclipse.jdt.junit4.runtime_1.1.0.v20090513-2000 [116] was not resolved.
!SUBENTRY 2 org.eclipse.jdt.junit4.runtime 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing required bundle org.junit4_[4.4.0,5.0.0).
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.hamcrest.core_1.1.0.v20090501071000 [184] was not resolved.
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle org.junit4_4.5.0.v20090824 [186] was not resolved.
!SUBENTRY 2 org.junit4 2 0 2010-08-17 10:13:02.765
!MESSAGE Missing required bundle org.hamcrest.core_1.1.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2010-08-17 10:13:02.765
!MESSAGE Bundle com.collabnet.subversion.merge_2.1.0 [208] was not resolved.
50610 次浏览

Recommended: Delete <workspace-directory>\.metadata\.plugins\org.eclipse.core.resources\.snap. This will not reset your workspace and your other projects won't get deleted (as answered by krishna).

Not Recommended: Alternatively, delete the the whole <workspace-directory>\.metadata directory from your workspace and restart.This will reset your workspace and delete all your existing projects in it.

For this issue I had to delete the .snap file located in the directory :

<workspace-directory>\.metadata\.plugins\org.eclipse.core.resources

After deleting that file, I was able to start my Eclipse with no problem.

Ran into this error.

There was no .snap file in my .metadata folder.

I had to delete this:

<workspace>/.metadata/.plugins/org.eclipse.core.resources/.root/d+.tree

d+=> some number.

Then I had to re-import the projects and re-assign the working sets. I preferred it over opening a new workspace and redoing settings.

Deleting .snap file worked perfect for me.

  1. Delete .snap file from the directory - workspace.metadata.plugins\org.eclipse.core.resources.
  2. Import the workspace (existing projects into workspace - do not copy folders into workspace again).

Had similar problem.

Log file said exception was caused by corruption in the project tree -- a very vague description.

Deleting individual files and directories in /.metadata/.plugins/org.eclipse.core.resources didn't work for me. I had to delete the entire /.metadata/.plugins/org.eclipse.core.resources directory. I lost the entire project tree but not the projects. They were still in the workspace and just needed to be imported back into Eclipse. I also did not lose the large numbers of plugins configured for working Java, Android, PHP, C++, J2EE, etc.

This is the second time I encountered a project tree related corruption. The first time I deleted the .metadata altogether and then spent a very long time putting back all the plugins and projects. The direction the other answers here were useful in zeroing in on just the org.eclipse.core.resources directory. Seems deleting the whole directory just results in only needing to reimport all the projects.

Your mileage may vary...

This also works when you receive this error from Information Design Tool (IDT) (Business Objects BI4).

  1. Delete .snap file from this directory.
    Please note that you Will lose all your local projects. Hopefully your modifications have been recently saved to a repository.

Directory - C:\Users\xxxxuser.name.businessobjects\bimodeler_14\workspace.metadata.plugins\org.eclipse.core.resources\

solution: delete .metadata folder in your last workspace. reason: Maybe you force shutdown/restart your computer, while your eclipse still running.

Just a little tip that might help people avoid an issue that I encountered.

In my case there were multiple workspace directories on my machine. When I ran the mvn sonar:sonar goal then it created its own workspace directory, placed the snapshot (.snap files) in there, and changed a setting to tell maven to look there for changes first. However, this was not my workspace that I was using, so the snapshot was never being updated with my changes. So when maven used that snapshot it could not find the files in their old locations. So I had to eliminate that workspace to resolve the issue. This worked because maven then looked in the next workspace on its list, my workspace, for the snapshot instead of the one added (but never updated) by the sonar goal.

So you might need to search your entire hard drive for *.snap files to see if there is more one workspace being used on your machine.

Check your environment variables _JAVA_OPTION path. I had HP UFT installed on my system and I set _JAVA_OPTION to IGNOREME_JAVA_OPTION for both system and environment variable. After reboot, eclipse showed the same error " check log file". Removed the IGNOREME and eclipse no issues. This could be another possibility that could be looked at to fix the eclipse.

Hope this helps.

For anyone interested, I had the exact same problem and deleting the file .metadata/.plugins/org.eclipse.core.resources/.snap did the trick for me.

I also had the same problem, this happens when you force shutdown/restart your computer, while your eclipse still running. Deleting .metadata folder worked for me. Delete all the metadata and then import your project from that same workspace.

Rather deleting whole .metadata folder, which in turns delete your projects from workspace, try to find the .snap files and delete them. .snap files are the snapshot of workspace's temporary instance which will be saved on clean & close of workspace.

Delete all the *.Snap files in the path workspace-directory>.metadata.plugins\org.eclipse.core.resources

Use the clean option

I had this error. I start eclipse with "clean" option and that worked for me.

eclipse.exe -clean

Eclipse starts and all projects ok.