我刚刚设法破坏了我的 Eclipse .metadata 目录的内容。用 eclipse -clean 启动没有成功。删除 .metadata 然后导入所有项目、插件和设置听起来不太有趣。我最终将 .metadata/.plugins/org.eclipse.core.resources/ 移到别处并仅重新导入我的项目。
是否有任何工具或最佳实践来恢复工作空间?
当工作区损坏并且 Eclipse 无法启动时,即使使用该-clean
选项,删除单个文件workspace/.metadata/.plugins/org.eclipse.core.resources/.snap
也可能会有所帮助(来源:对文章的评论https://web.archive.org/web/20200517003712/https://letsgetdugg.com/2009/04 /19/recovering-a-corrupt-eclipse-workspace/)。
更新:当Eclipse 4.X崩溃后无法启动时,尝试用 -clearPersistedState
option启动;如果它没有帮助然后删除文件workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
(来源:https ://www.eclipse.org/forums/index.php/m/1269045/ https://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)。Subversive 开发人员修复了相关的错误372621和370374 。
删除以下文件后,您应该能够启动工作区:.metadata.plugins\org.eclipse.e4.workbench\workbench.xmi,如下所示:
当由于某种原因变得无法启动时,我有一些从 eclipse 中恢复的经验,这些博客条目可以帮助你吗?
链接(存档)
还搜索“无法启动 Eclipse”(我是新用户,我只能发布一个超链接,所以我只需要请求您搜索第二个 :( 抱歉)
也许这些也可以让您恢复工作空间,希望对您有所帮助。
我无法避免偶尔重建工作区(使用 Eclipse 的几年中一到两次)。删除 .metedata 并重建。
通过使用以下过程,我已经成功地从完全混乱的情况(各种核心组件提供 NPE 和 ClassCastExceptions 等)中恢复了我现有的工作空间:
整个过程花了我半个多小时才得到一个很大的工作空间,但最终它确实修复了它。
我偶然发现的另一种解决方案,可能会对某人有所帮助:
就我而言,这是一个损坏的项目,而不是整个工作区(尝试将所述项目导入新的工作区也会导致它失败)。所以,我开始寻找有问题的项目——相反,我得到了上面描述的结果。
这个线程可能有点老,但由于现在这仍然是一个问题,我想我会提出一个新的解决方案来备份 Eclipse。
在http://profiles.yatta.de,您可以下载 Yatta Eclipse 启动器。您可以使用它来保存您的 Eclipse 和工作区设置。
安装后,Launcher 将发现您现有的 Eclipse 安装和工作空间。
单击要备份的条目右侧的上传和共享按钮(蓝色按钮)。
(您实际上不会与任何人“共享”您的 Eclipse 或工作区。您只需上传一个带有元数据的设置文件,只有您自己可以访问。您可以稍后共享它,但您也可以将其用作备份)。
如果你这样做了,如果你曾经有一个碎片化的工作区或 Eclipse 安装,你将能够非常快速地重新设置你的 IDE。
就我而言,仅删除org.eclipse.e4.workbench
目录(在 下.metadata/.plugins
)并重新启动 Eclipse 即可解决问题。
我知道这听起来很明显,但是如果我以编写代码为生,我肯定会每周进行一次完整备份,并每天进行相应的增量备份。
简单易恢复。
对于备份 eclipse 目录并假设您使用 Linux 的简单方法,您可以使用 rsync。
rsync -ar <eclipse-dir> <backup-eclipse-dir>
您可以将其放入 cron 并让它自动备份您的文件。它只会在后续运行时将更改的文件复制到您的备份-eclipse-dir。
删除以下文件帮助我解决了我的 Eclipse 启动问题。Perforce 插件一直困扰着我,尤其是当我的机器重新启动时,下次 eclipse 尝试恢复工作空间并崩溃时。
工作区/.metadata/.plugins/org.eclipse.core.resources/.snap
供您参考,我得到的错误:org.eclipse.core.runtime.CoreException:插件 com.perforce.team.ui 无法加载类 com.perforce.team.ui.UITeamProvider。
以上都不适合我。但实际上起作用的是从我的工作区中删除所有 *.snap 文件。这也保留了几乎所有设置,包括导入的项目。确保在尝试之前备份工作区!!!
在 workspace/.metadata/.plugins/org.eclipse.wst.jsdt.core/ 中删除一个扩展名为 .dat 的文件,然后关闭 e 并打开 eclipse,也许你不能关闭 eclipse,强制它,如果你是 pkill -f eclipse在 linux 或类似设备上。
此解决方案避免导入所有现有项目。
我也遇到过这样的问题,我的工作空间已损坏,不再做所有重要的事情。
出于某种原因,我的一个项目中有一个损坏的资源。它没有出现在包树中,但它确实在 Eclipse 的错误日志中显示为
为外部文件夹 X:\somefolder 创建链接时出错
在检查了每个项目之后(因为错误没有指向一个),我确实在其中一个构建路径中找到了这个资源(在配置构建路径菜单中它确实显示了一个错误图标!)并将其删除。
如果您遇到类似的问题,请参阅Eclipse (Kepler) Workspace 行为怪异(类型层次结构,搜索引用不起作用)以更广泛地描述我的问题。
发布此内容以供将来的开发人员参考。
在我的例子中,损坏的不是工作区,而是 Eclipse 本身。即使看起来工作区已损坏(相同的错误对话框等),我所要做的就是重新安装 Eclipse 并将其指向旧的工作区。如果工作区损坏了,您将无法真正修复损坏的工作区,但您可以这样做只是为了更好地衡量,也许它会起作用。
如果工作空间不是那么大,您可以备份说保管箱作为私人锁定文件夹。