22

我认为 Eclipse 试图让我痛苦。几个小时前,我的项目运行良好,编译良好。突然间,一切都变了。Eclipse 以某种方式清除了我对文件(活动、清单等)所做的所有更改。我确保经常保存,但是当我去运行项目时,我得到一个错误,我有一个构建错误。我检查了一下,没有,所以我关闭了 Eclipse,所以我可以重新打开,看看错误是否会消失。相反,Eclipse 会清除我的所有文件,最终我在磁盘上创建了一个包含大量空白代码文件的项目。无论如何我尝试运行,我收到下面的错误消息。

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

任何人都知道这到底是怎么回事,我该如何纠正这个问题?

4

10 回答 10

9

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

文件 -> 导入... -> 现有项目到工作区

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

于 2012-09-10T04:32:38.710 回答
3

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

于 2012-09-18T20:47:38.757 回答
2

这发生在我身上,因为我的 .project 文件中有冲突。我在文本编辑器中打开它并修复了冲突(在我的情况下,从====...to>>>branch...和 中删除<<<HEAD)然后我能够在 eclipse 中打开项目。

于 2019-10-07T19:01:13.407 回答
1

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

我似乎已经通过确保.project在初始化项目时不下载来解决它。

于 2015-03-25T13:09:26.420 回答
0

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

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

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

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

于 2012-09-10T04:22:37.687 回答
0

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

于 2014-01-06T01:56:51.393 回答
0

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

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

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

于 2012-09-24T01:17:15.777 回答
0

如果您仍然拥有所有其他源(.java 文件、AndroidManifest.xml、资源),您可以通过简单地转到包含项目的文件夹,删除您所说的 .project 文件来恢复您的项目。为空,然后使用新项目向导从现有的源代码树为您重新创建项目(和 .project 文件)。

从菜单中选择File -> New... -> Project,然后在第一个对话框中,从 Existing Code 中选择 Android Project

如果您对 .project 做了任何特殊处理(依赖特定的 .jar 文件或更改类路径),您可能必须在重新创建项目后重新执行这些步骤;但至少它应该选择你已经拥有的代码。

于 2012-09-19T09:47:29.327 回答
0

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

于 2015-12-10T05:38:36.830 回答
-1

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

于 2015-11-02T06:00:44.800 回答