如何恢复损坏的Eclipse工作区?

时间:2009-06-04 13:08:32

标签: eclipse recovery workspace corrupt

我设法破坏了我的Eclipse .metadata目录的内容。启动eclipse -clean没有成功。删除.metadata,然后导入所有项目,插件和设置听起来不太有趣。我最终移动.metadata / .plugins / org.eclipse.core.resources /其他地方并重新导入我的项目。

是否有任何工具或最佳做法来恢复工作区?

15 个答案:

答案 0 :(得分:105)

当工作空间损坏且Eclipse无法启动时,即使使用-clean选项,删除单个文件workspace/.metadata/.plugins/org.eclipse.core.resources/.snap也可能有所帮助(来源:对文章http://letsgetdugg.com/2009/04/19/recovering-a-corrupt-eclipse-workspace/的评论)。

更新:当Eclipse 4.X在崩溃后无法启动时,请尝试以-clearPersistedState选项开始;如果它没有帮助,则删除文件workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi(来源:http://www.eclipse.org/forums/index.php/m/1269045/ http://www.eclipse.org/forums/index.php/t/522428/ https://bugs.eclipse.org/bugs/show_bug.cgi?id=404873)。注意:您将丢失透视图/视图/标签的配置。

更新:颠覆性插件可能导致无法使用损坏的元数据启动Eclipse。如果您安装了Subversive插件,请从update-site将其更新为最新版本(至少为0.7.9.I20120210-1700)。颠覆性开发者修复了相关错误372621370374

答案 1 :(得分:19)

删除以下文件后,您应该能够启动工作区: .metadata.plugins \ org.eclipse.e4.workbench \ workbench.xmi如图here所示:

答案 2 :(得分:9)

我有一些从eclipse中恢复的经验,当它因任何原因变得无法启动时,这些博客条目可以帮助你吗?

http://blog.chris-alex-thomas.com/2009/08/26/eclipse-refuses-to-start-again/

还搜索“无法启动eclipse”(我是新用户,我只能发布一个超链接,所以我只想问你搜索第二个:(对不起)

也许那些允许你恢复你的工作区,我希望它有所帮助。

答案 3 :(得分:5)

我无法避免偶尔重建工作空间(使用eclipse几年后一两次)。删除.metedata并重建。

答案 4 :(得分:4)

通过使用此过程,我已经成功地从完全混乱的情况(所有类型的核心组件提供NPE和ClassCastExceptions等)中恢复了我的现有工作区:

  • 打开Eclipse
  • 关闭错误对话框
  • 选择工作区中的第一个项目
  • 右键单击 - >刷新
  • 关闭错误对话框
  • 关闭Eclipse
  • 关闭错误对话框
  • 对工作区中的所有项目重复
  • (如果您的项目在CVS / SVN等,同步它们)
  • 清理并重建所有项目
  • 固定

整个过程花了我半个多小时才找到一个大工作空间,但它最终确实修好了。

答案 5 :(得分:4)

我偶然发现的另一个解决方案,可能会帮助某人:

  1. 备份损坏的工作区。
  2. 将一半项目移至某个临时位置。
  3. 启动Eclipse,如果有效,请转到步骤5.
  4. 将您已删除的项目的一半移回工作区,移出另一半。如果您已经这样做,请继续以binary search方式删除/读取您的项目。转到第3步。
  5. 退出Eclipse,移回所有项目,然后重新启动它。您现在应该看到您的某些项目已关闭(并且在错误的工作集中)。重新打开项目并将其移动到正确的工作集。
  6. 在我的情况下,它是一个项目被破坏,而不是整个工作区(尝试将所述项目导入新的工作区也导致它也失败)。所以,我开始寻找有缺陷的项目 - 相反,我得到了上面描述的结果。

答案 6 :(得分:4)

这个帖子可能有点旧,但由于现在这仍然是一个问题,我想我会提出一个新的解决方案来备份Eclipse。

  • http://profiles.yatta.de,您可以下载Yatta Eclipse Launcher。您可以使用它来保存Eclipse和工作区设置。

  • 安装后,Launcher将发现您现有的Eclipse安装和工作区。

  • 点击上传&分享要备份的条目右侧的按钮(蓝色按钮)。

(您实际上不会与任何人共享您的Eclipse或工作区。您只需上传一个包含元数据的设置文件,只有您可以访问自己。您可以稍后分享,但您也可以使用它作为备份)。

如果您这样做,如果您有一个碎片工作区或Eclipse安装,您将能够非常快速地重新设置IDE。

答案 7 :(得分:1)

我知道这听起来很明显,但如果我以编写代码为生,我一定会每周进行一次完整备份,并每天进行相应的增量备份。

简单易行的恢复。

有关备份eclipse目录并假设使用Linux的简单方法,可以使用rsync。

rsync -ar< eclipse-dir> <备份蚀-DIR>

您可以将其放入cron并让它自动备份您的文件。它只会在后续运行时将已更改的文件复制到backup-eclipse-dir。

答案 8 :(得分:1)

在我的情况下,仅删除org.eclipse.e4.workbench目录(在.metadata/.plugins下)并重新启动Eclipse解决了问题。

答案 9 :(得分:0)

以上都不适合我。但实际工作的是从我的工作区删除所有* .snap文件。这也保留了几乎所有设置,包括导入的项目。在尝试之前确保备份工作区!!!

答案 10 :(得分:0)

在workspace / .metadata / .plugins / org.eclipse.wst.jsdt.core中删除扩展名为.dat的文件,然后关闭eand open eclipse,也许你不能用pkill -f eclipse关闭eclipse,强制它如果你是在Linux或类似的。

此解决方案避免导入所有exates项目。

答案 11 :(得分:0)

我也经历过这样的问题,我的工作区已损坏,并且不再执行所有重要的事情了。

出于某种原因,我的一个项目有一个腐败的资源。它没有显示在包树中,但它确实在Eclipse的错误日志中显示为

  

为外部文件夹X创建链接时出错:\ somefolder

在检查每个项目之后(因为错误没有指向一个),我确实在其中一个构建路径中找到了这个资源(在Configure Build Path菜单中它确实显示了一个错误图标!)并将其删除。

如果您遇到类似问题,请参阅Eclipse (Kepler) Workspace acting weird (type hierarchy, searching for references not working)以获得更广泛的问题描述。

发布此信息供未来的开发人员参考。

答案 12 :(得分:0)

删除下面的文件帮助我解决了我的eclipse启动问题。 Perforce插件总是困扰我,特别是当我的机器重新启动时,下次eclipse试图恢复工作空间和疯狂。

工作区/ .metadata / .plugins / org.eclipse.core.resources / .snap

供您参考,错误我得到: org.eclipse.core.runtime.CoreException:插件com.perforce.team.ui无法加载类com.perforce.team.ui.UITeamProvider。

答案 13 :(得分:0)

就我而言,不是工作区被破坏而是Eclipse本身。即使看起来工作区被破坏(相同的错误对话框等),我所要做的就是重新安装Eclipse并将其指向旧工作区。如果工作区被破坏了,你就无法修复一个破碎的工作区,但你可以这样做,只是为了好的措施,也许它会工作。

答案 14 :(得分:-1)

如果工作区不是那么大,你可以备份将Dropbox称为私人锁定文件夹。