Java 日食地狱。无法读取项目说明文件(.project)

Java 日食地狱。无法读取项目说明文件(.project),java,eclipse,Java,Eclipse,我想月食是想让我痛苦。几个小时前,我的项目运行良好,编译良好。突然,一切都变了。Eclipse以某种方式清除了我对文件(活动、清单等)所做的所有更改。我确保经常保存这些更改,但当我运行项目时,我会得到一个错误,即我有一个构建错误。我检查了一下,发现没有,所以我关闭Eclipse,这样我可以重新打开,看看错误是否会消失。取而代之的是,Eclipse擦除了我所有的文件,最终我得到了一个磁盘上的项目,其中包含大量的空白代码文件。不管怎样,我都尝试运行,并收到下面的错误消息 无法读取“com.examp

我想月食是想让我痛苦。几个小时前,我的项目运行良好,编译良好。突然,一切都变了。Eclipse以某种方式清除了我对文件(活动、清单等)所做的所有更改。我确保经常保存这些更改,但当我运行项目时,我会得到一个错误,即我有一个构建错误。我检查了一下,发现没有,所以我关闭Eclipse,这样我可以重新打开,看看错误是否会消失。取而代之的是,Eclipse擦除了我所有的文件,最终我得到了一个磁盘上的项目,其中包含大量的空白代码文件。不管怎样,我都尝试运行,并收到下面的错误消息

无法读取“com.example.android.nfc.simulator.faketagsavity.faketagsavity”的项目描述文件(.project)。该文件已在磁盘上更改,现在包含无效信息。在说明文件恢复到有效状态之前,项目将无法正常运行。


有人知道这到底是怎么回事,我该如何纠正

如果.project文件是文本文件,那么如果版本控制中有它,您可能希望从那里复制它

在尝试以下操作之前,请备份当前项目状态

假设您没有旧的副本,您可以在文本编辑器中打开它,并尝试查看是否有明显的错误


如果失败,请将项目的源文件复制到新位置(没有eclipse配置文件),并将其作为新项目导入eclipse。

我建议删除所有与eclipse相关的配置文件(如果手动对这些文件进行了一些更改,请确保备份)然后再次导入项目,方法如下

文件->导入…->将现有项目放入工作区


在执行此操作之前,请确保备份了整个项目。

当Eclipse陷入某种模糊状态时,我通常会发现在workspace目录中重新创建.metadata文件夹很有用。这是一个极端的解决方案,但它通常对我有效。之后,您可以重新导入所有项目。

如果您仍然拥有所有其他源(.java文件,AndroidManifest.xml,参考资料),您只需转到包含项目的文件夹,删除您所说的现在为空的.project文件,就可以取回项目,然后使用新建项目向导从现有的源代码树中为您重新创建项目(和.project文件)

从菜单中,选择文件->新建…->Project,然后在第一个对话框中,从现有代码中选择Android Project


如果您对.project做了任何特殊的操作(依赖于特定的.jar文件或对类路径的更改),那么在重新创建项目之后,您可能必须重新执行这些步骤;但至少它应该能提取您已有的代码。

如果所有文件都是空的,并且您没有可用的备份,我就无能为力了。我建议将来使用适当的版本控制

使用git或mercurial,它们有很好的UI集成(请参阅tortoisegit/tortoisehg)


要将构建过程和库管理与eclipse分离,请查看maven或gradle,这可能会在未来的项目中对您有所帮助。

如果您使用
git
,请完成合并,例如
del
您的
androidmanifest

中的头部,我刚刚遇到了同样的问题(使用构建在Eclipse上的Zend Studio 12)。我的问题是,我正在从远程服务器创建一个项目,而我正在下载所有内容,其中还包括旧项目中的
.project
文件。直到我关闭程序并再次尝试打开它,它才显示此错误(通常直到第二天)


我在初始化项目时确保不下载
.project

只需删除工作区中的“服务器”文件夹,然后重试。

我在Eclipse中也遇到了同样的问题,但真正的问题是我从源位置删除了实际的源项目文件夹(eclipse正试图从中获取项目)由于web.xml文件不可用,因此我的eclipse无法获取该文件。现在,我将源项目文件夹位置更改为eclipse尝试搜索的路径。问题已为我解决。

我遇到这种情况,因为我的.project文件中存在冲突。我在文本编辑器中打开了该文件并修复了冲突(在我的例子中,从
===…
删除到
>>分支…
,以及
主文件和备份都受到了影响。不幸的是,我没有在版本控制中使用它。我只是复制了一个旧文件,Eclipse似乎能够以某种方式对这两个文件进行更改。你能用损坏的.project文件更新你的问题吗?什么您有什么样的项目?它是一个普通的Java项目吗?如果您右键单击该项目并选择“从本地历史恢复…”,会发生什么?你看到以前的版本了吗?查看此链接感谢@StephenC提供的精彩提示,我是新手,你能告诉我如何进行版本控制吗?一个教程或指南就可以了。谢谢,这是真的,只有当你没有从一个天才程序员那里继承一个项目,他成功地配置了他的构建环境这是一个建议,因此适合作为评论。