17

我一直在努力解决一个非常奇怪的问题,该问题突然出现在最新版本的 Eclipse Classic (4.2.2) 上。

每次我尝试在我的 Eclipse 工作区中的任何项目(所有 Java)中创建或重构一个类或子类时,我都会在我的类的最顶部收到一个错误,上面写着

A class file was not written. The project may be inconsistent, if so try refreshing this project and building it

同样,当我创建新类时会发生这种情况。即使我重命名当前类,然后撤消重命名,它也完全没问题,但是更改名称中的单个字符会导致该特定类发生此错误。

我开启了 Auto Build,我多次尝试清理和刷新每个项目以及完全重新启动 Eclipse。

我真的不知道如何开始弄清楚如何解决这个问题。我通过搜索找到的解决方案没有帮助,所以我希望我能在这里找到任何线索。

4

23 回答 23

13

在我的例子中,这是由于构建输出目录由不同的用户拥有,而 Eclipse 无法写入它们。

于 2017-09-07T13:24:15.000 回答
12

我遇到了同样的问题,最后我是这样解决的:原来工作区所在的驱动器上的磁盘空间已满。

愚蠢的错误,但值得检查。

于 2014-09-14T13:22:17.873 回答
9

我有同样的问题,以下对我有用:

  1. 右键单击eclipse,然后以“管理员身份”运行
  2. 单击项目 > 清理。
于 2019-03-26T18:12:46.827 回答
6

通过使用 -clean 参数从命令行启动 eclipse 来清理工作区:

eclipse -clean

另请参阅如何在干净模式下运行 eclipse?如果我们这样做会发生什么?

于 2013-07-01T12:15:29.120 回答
3

我通过以 root 身份运行 Eclipse 解决了这个问题。

于 2019-05-21T17:34:55.363 回答
2

我在 Mac OS X 上遇到了同样的问题。我有一个 Maven 项目。

尝试在终端上运行以下命令。这看起来像一个访问问题。

sudo mvn clean

为管理员用户提供密码。

然后打开 Eclipse 并刷新您的项目。

于 2018-09-10T06:20:13.513 回答
1

我们在这里也使用 Eclipse,并且必须处理一个包含 200 多个插件的工作区。人们时不时地在他们的工作空间中遇到类似的问题,并且 Eclipse 会以一种奇怪的方式报告不一致。这里的人通常做的是(仅在上一步没有帮助的情况下下一步): - 尝试ContextMenu -> Team->清理/刷新整个工作区 - 创建一个新工作区并从存储库中检查所有必要的文件 -将 Eclipse 重新安装到新目录

根据我多年来每天使用 Eclipse IDE 的经验,在这些问题上浪费太多时间没有多大意义,除非通过上述步骤之一无法解决这些问题。处理这些事情需要花费太多时间,而从头开始可以在一个小时或更短的时间内完成(通常可以解决问题)。如果您的 Eclipse 仍然表现异常,那么检查您安装的插件可能是有意义的。并非所有外部插件都遵循 Eclipse 指南,并且会严重损害 Eclipse 安装的性能和操作一致性(例如 Sonar 插件、Toad 插件......)

于 2013-06-28T07:41:01.333 回答
1

在我的情况下,由于磁盘空间已满而导致的这种错误,只需释放已安装 eclipse 的磁盘空间即可解决。那是c / d / e驱动程序。

于 2017-03-11T14:56:54.757 回答
1

我想出了同样的错误,在我的情况下,这是因为project/bin目录的权限不是递归的775

我通过以下方式修复了它:

  1. 删除project/bin目录:sudo rm -rf project/bin
  2. 切换到 Eclipse,重建项目:Project->Clean...

然后没有错误。

于 2018-12-12T13:10:35.520 回答
1

尝试以管理员身份启动 Eclipse。

于 2019-08-05T15:21:14.043 回答
0

在我的情况下,此类错误是由引用的方法名称中的问号引起的(我使用 geb+spock 组合进行自动化测试)。
所以这个方法名称会抛出一个错误“你想要什么吗?”()
这不会“你想要什么”()

于 2015-08-07T10:08:23.457 回答
0

这可能不是最好的响应,但要修复它,我刚刚删除了错误标记。

于 2016-10-04T09:55:02.297 回答
0

有同样的问题。但清理项目并重新启动 Eclipse 并没有帮助,磁盘空间也不是问题。通过将代码复制到记事本(只是为了不丢失它)然后删除该类,重新创建它并再次将代码粘贴回来解决了这个问题。

于 2018-02-06T14:06:27.453 回答
0

我解决了它改变了项目文件的所有者。我从 root(旧所有者)更改为我当前的用户(我在 eclipse 中使用的用户)。

于 2018-05-26T16:59:01.687 回答
0

刚刚更改并保存了 java 文件以重新编译该类。然后错误消失了。

于 2018-08-25T22:24:47.463 回答
0

我试着跑

项目->清理...

并重建。我的问题已解决

于 2018-12-18T04:13:55.550 回答
0

对于 linux (Debia) 和 Spring boot 项目 (maven):

$ sudo mvn clean

然后打开 Eclipse 和文件 -> 刷新。

于 2019-02-25T00:02:31.583 回答
0

我有同样的问题,它是类似的,但这篇文章对我的情况没有帮助。我有许多内部类,这导致编译器创建具有所有内部类名的类名,从而在 NTFS 上创建超过 255 个字符的文件限制的类名!在其他博客中阅读。我认为在这里发帖会有所帮助。

例如:classA$InnerClassB$......InncerClassZ.class 在目标文件夹中,如果超过此限制,它将不会生成该类。尝试将您的内部类名称重命名为缩短。在我的情况下,我必须添加 InnerclassZ 因为它超出了它的不生成类和 Eclipse 抱怨。

没有写入类文件。该项目可能不一致,如果是这样尝试刷新....

我将 InnerClassZ 缩短为 IClassZ 解决了这个问题。

于 2019-04-03T20:22:58.973 回答
0

我有同样的问题,它通过在管理员模式下运行 Eclipse Eclipse Shortcut-->右键单击-->更多->以管理员身份运行来解决

于 2019-08-09T09:31:37.227 回答
0

当我使用 wsdl2java 从 wsdl 中提取 java 类时,我曾经遇到过这个错误,结果证明所有类都是在同一个“类”中创建的,导致结束类的名称很长(错误 - 文件名太长)。当我组织并重命名一些类时,错误消失了。

于 2020-04-29T06:10:05.307 回答
0

我有这个问题。我做了以下,它解决了。

以管理员模式打开 Eclipse;右键单击 eclipse.exe “以管理员身份运行” 清理所有项目。

于 2020-09-10T13:45:07.067 回答
0

@Denny 的回答让我走上了正确的轨道,尽管在我的情况下它是目标目录。我出于某种原因删除了它,并使用所有者 root 自动重新创建了一些东西。更改目录所有者是不够的,因为它包含的文件也归根用户所有。因此,请确保真正删除目录的完整内容更改所有者。

于 2021-01-08T17:22:07.773 回答
-2

在尝试上述解决方案之前。刚刚清理了项目,它工作了。

于 2019-03-25T04:45:15.523 回答