如何恢复损坏的Eclipse工作空间?

62

我刚刚意外破坏了我的Eclipse .metadata目录。使用eclipse -clean启动没有成功。删除.metadata,然后导入所有项目、插件和设置似乎不是很有趣。我最终将.metadata/.plugins/org.eclipse.core.resources/文件夹移动到其他位置,仅重新导入我的项目。

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


1
我在我的博客文章恢复损坏的Eclipse工作空间中收集了一些信息和有用的插件。 - Aaron Digulla
最近在使用STS时,由于IDE崩溃,工作区的位置被更改为项目自己的文件夹。当尝试重新打开它时,它指出了一个损坏的项目。我不得不将工作区位置返回到正确的文件夹(即项目的父文件夹),并删除在我的项目文件夹内创建的.metadata文件夹。 - ℛɑƒæĿᴿᴹᴿ
15个回答

1
在我的情况下,出现问题的并不是工作空间,而是Eclipse本身,与错误对话框所示不同。重新安装Eclipse并将其指向工作空间后,问题得到解决。可能有修复损坏工作空间的工具,但重新安装Eclipse可能值得一试。

这更像是一条评论,而不是对这个问题的回答。特别是你请求日志文件的部分。如果我错了,请编辑你的回答,清楚地展示它如何回答这个问题,并删除日志请求。否则,请在获得足够声望后将其作为评论留下。 - Yannis
@Yannis,现在的答案可以了吗? - Marko Zajc

0

我也遇到过这样的问题,我的工作空间被损坏了,不能再执行所有重要的操作了。

由于某种原因,我的一个项目上有一个损坏的资源。它没有显示在包树中,但在Eclipse的错误日志中显示为:

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

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

如果您遇到类似的问题,请参见{{link1:Eclipse(Kepler)工作区表现异常(类型层次结构,搜索引用不起作用)}}以获取更广泛的描述。

我发布这篇文章是为了供未来的开发人员参考。


0
在 workspace/.metadata/.plugins/org.eclipse.wst.jsdt.core/ 中删除一个扩展名为 .dat 的文件,然后关闭并重新打开 Eclipse。如果你在 Linux 或类似系统上运行 Eclipse 并且无法关闭它,请使用 pkill -f eclipse 强制关闭。
这个解决方案避免了导入所有现有项目的问题。

0

我知道这听起来很显而易见,但如果我靠写代码谋生,我一定会每周进行全面备份,并进行相应的增量备份。

简单易操作的恢复。

对于备份您的Eclipse目录的简单方法,假设您正在使用Linux,则可以使用rsync。

rsync -ar <eclipse-dir> <backup-eclipse-dir>

您可以将其放置在cron中,让它自动备份您的文件。它仅会在后续运行中复制更改的文件到您的备份Eclipse目录。


2
谢谢,但我在寻找恢复方法,而不是备份方法。 - Petteri H
1
非常感谢,我会进行适当的备份(使用rdiff-backup),但出于某些原因没有考虑从中恢复我的工作空间,相反我一直在寻找快速恢复的方法,但现在我好像还在熟睡。 - AmanicA

-1
如果工作空间不是很大,您可以将备份保存到Dropbox中作为一个私人锁定文件夹。

1
这并不能防止Eclipse破坏它。 - Aaron Digulla

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