【问题标题】:Eclipse won't start, log error says: ObjectNotFoundException: Tree elementEclipse 无法启动,日志错误显示:ObjectNotFoundException:树元素
【发布时间】:2011-03-31 03:07:42
【问题描述】:

昨晚我的机器在 Eclipse Galileo 打开时重新启动。没什么大不了的,对吧?

今天早上,我启动了我的机器并尝试打开 Eclipse。我没有打开,而是看到了这个:

错误日志表明存在由于未保存的更改退出而导致的某种问题。

如何让 Eclipse 打开并忽略那些未保存的更改?我什至无法使用 Eclipse 打开不属于该项目的文本文件?必须有办法重置此状态。

编辑:

我已将问题追踪到一个文件中。当我在下面删除此文件时,Eclipse 会打开,但我的项目丢失了。

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

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

!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.

【问题讨论】:

  • java.vendor=Sun Microsystems Inc. 我想这可能是根本原因! :)
  • 尝试使用另一个工作区启动 eclipse,看看是否可行。
  • 不行。无法打开另一个工作区。无法打开与任何项目无关的文本文件。我陷入了困境。
  • 你的版本到底是什么(包括版本号)?
  • eclipse.buildId = M20100211-1343 版本 3.5.2

标签: eclipse


【解决方案1】:

对于这个问题,我不得不删除目录中的.snap 文件:

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

删除该文件后,我可以毫无问题地启动我的 Eclipse。

【讨论】:

  • 在不丢失项目或任务的情况下工作 :) Eclipse Juno (2013)。谢谢!
  • 递归删除 .snap 或所有 .snap 文件并没有为我解决问题。
  • 我迷路了,现在我回家了 :D thanx
  • @Krishna:为我感谢这个解决方案,但我只是不明白为什么它首先会发生!你能解释一下吗?
  • 这也适用于 Eclipse Neon,尽管 .snap 在 /.metadata/.plugins/org.eclipse.core.resources/.root 中
【解决方案2】:

推荐:删除&lt;workspace-directory&gt;\.metadata\.plugins\org.eclipse.core.resources\.snap。这不会重置您的工作区,并且您的其他项目也不会被删除(由 krishna 回答)。

不推荐:或者,从您的工作区中删除整个 &lt;workspace-directory&gt;\.metadata 目录并重新启动。这将重置您的工作区并删除其中的所有现有项目

【讨论】:

  • 谢谢,这对我有帮助。删除 .metadata 中的 .snap 文件后,我至少能够重新启动 eclipse。不幸的是,我失去了所有的项目。最后我不得不从颠覆中重新检查我所有的项目。但至少我已经重新开始工作了。
  • 这里完全一样,该死。
  • 我认为正确的答案应该是下面那个。上面会重置你的整个工作区,另一方面,下面会保留你所做的一切。
  • 为什么这是公认的答案。完全搞砸了我的安装,我花了接下来的几个小时来修复它。
  • 您能否更新答案以说明它会删除您的所有项目设置?如果您赶时间并且对 Eclipse 没有那么丰富的经验,那么当您的所有配置都消失时,您会感到非常沮丧。您的解决方案仍然可以解决问题,但效果不佳。所以你仍然会得到支持。
【解决方案3】:

遇到此错误。

我的 .metadata 文件夹中没有 .snap 文件。

我不得不删除这个:

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

d+=> 一些数字。

然后我不得不重新导入项目并重新分配工作集。我更喜欢它而不是打开一个新的工作区并重做设置。

【讨论】:

  • 这对我有用。重新创建我的项目很痛苦,但其他答案对我没有帮助。
  • 这对我有用。我重新导入了我的项目,所以我不必重新创建它们。一切如旧
  • 对我不起作用。不得不删除 .metadata 文件夹。
  • 就我而言(Jaspersoft Studio 5.5.1 final),它使所有项目都从项目资源管理器中消失,除了默认项目(我不知道如何打开它们)。
【解决方案4】:

删除 .snap 文件非常适合我。

  1. 从目录 - workspace.metadata.plugins\org.eclipse.core.resources 中删除 .snap 文件。
  2. 导入工作区(现有项目到工作区 - 不要再次将文件夹复制到工作区)。

【讨论】:

    【解决方案5】:

    有类似的问题。

    日志文件说异常是由项目树中的损坏引起的——描述非常模糊。

    删除 /.metadata/.plugins/org.eclipse.core.resources 中的单个文件和目录对我不起作用。我不得不删除整个 /.metadata/.plugins/org.eclipse.core.resources 目录。我丢失了整个项目树,但没有丢失项目。它们仍在工作区中,只需要重新导入 Eclipse。我也没有丢失为工作 Java、Android、PHP、C++、J2EE 等配置的大量插件。

    这是我第二次遇到与项目树相关的损坏。我第一次完全删除了.metadata,然后花了很长时间把所有的插件和项目都放回去了。此处其他答案的方向对于仅将 org.eclipse.core.resources 目录归零很有用。似乎删除整个目录只需要重新导入所有项目。

    您的里程可能会有所不同...

    【讨论】:

    • 我也必须这样做,只是删除 .snap 并没有解决它。我正在使用 Luna SR1 (4.4.1)。
    【解决方案6】:

    当您从信息设计工具 (IDT) (Business Objects BI4) 收到此错误时,这也有效。

    1. 从此目录中删除 .snap 文件。
      请注意,您将失去所有本地项目。希望您的修改最近已保存到存储库中。

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

    【讨论】:

    • 删除(或重命名).snap 文件确实有帮助(不会丢失整个工作区!!!)。谢谢!
    • 我在这里找到了文件:C:\workspace\.metadata\.plugins\org.eclipse.core.resources\.snap - 这是相同的路径,除了上面显示的路径缺少一些反斜杠并且工作区位于不同的位置...
    【解决方案7】:

    对于任何感兴趣的人,我遇到了完全相同的问题,删除文件 .metadata/.plugins/org.eclipse.core.resources/.snap 对我有用。

    【讨论】:

      【解决方案8】:

      使用干净选项

      我遇到了这个错误。我用“干净”选项启动 Eclipse,这对我有用。

      eclipse.exe -clean
      

      Eclipse 启动,所有项目正常。

      【讨论】:

      • 用日食霓虹灯试过这个。不适合我。
      【解决方案9】:

      解决方案:删除上一个工作区中的 .metadata 文件夹。 原因:也许您在 Eclipse 仍在运行时强制关闭/重新启动计算机。

      【讨论】:

        【解决方案10】:

        只是一个小提示,可以帮助人们避免我遇到的问题。

        就我而言,我的机器上有多个工作区目录。当我运行 mvn sonar:sonar 目标时,它创建了自己的工作区目录,将快照(.snap 文件)放在那里,并更改了一个设置以告诉 maven 先在那里查找更改。但是,这不是我使用的工作区,因此快照从未使用我的更改进行更新。因此,当 maven 使用该快照时,它无法在其旧位置找到文件。所以我不得不消除那个工作空间来解决这个问题。这很有效,因为 maven 然后在其列表中的下一个工作区(我的工作区)中查找快照,而不是声纳目标添加(但从未更新)的快照。

        因此,您可能需要在整个硬盘驱动器中搜索 *.snap 文件,以查看您的计算机上是否有多个工作区正在使用。

        【讨论】:

          【解决方案11】:

          检查您的环境变量_JAVA_OPTION 路径。我在我的系统上安装了 HP UFT,并将系统和环境变量的 _JAVA_OPTION 设置为 IGNOREME_JAVA_OPTION。重新启动后,eclipse 显示相同的错误“检查日志文件”。删除了 IGNOREME 和 eclipse 没有问题。这可能是另一种修复日食的可能性。

          希望这会有所帮助。

          【讨论】:

            【解决方案12】:

            我也遇到了同样的问题,当您在 Eclipse 仍在运行时强制关闭/重新启动计算机时会发生这种情况。 删除 .metadata 文件夹对我有用。删除所有元数据,然后从同一个工作区导入您的项目。

            【讨论】:

              【解决方案13】:

              宁可删除整个 .metadata 文件夹,这又会从工作区中删除您的项目,尝试找到 .snap 文件并删除它们。 .snap 文件是工作区临时实例的快照,将在工作区清理和关闭时保存。

              【讨论】:

                【解决方案14】:

                删除路径workspace-directory>.metadata.plugins\org.eclipse.core.resources中的所有*.Snap文件

                【讨论】:

                  猜你喜欢
                  • 2012-08-10
                  • 2011-12-12
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2015-05-28
                  • 2017-09-11
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多