Eclipse无法删除错误

时间:2010-04-18 03:07:40

标签: java eclipse build

我正在使用Eclipse开发一个项目,现在一切都很好,但是上次我尝试构建它时,它返回了错误,

  

“由于”无法删除'/ Torpedo / bin / bin',项目未构建。“。解决问题,然后尝试刷新此项目并构建它,因为它可能不一致Torpedo Unknown Java Problem”

它删除了我的bin文件夹,该文件夹存储了程序所需的所有图像和内容。 (幸运的是我有一个备份)。我试过谷歌搜索它并尝试了我发现的每一个解决方案,但没有任何帮助,而且大多数建议手动删除文件夹,我不能。 我该怎么办?

29 个答案:

答案 0 :(得分:29)

我在Windows上经常看到这个。我认为这是Eclipse中的一个bug或种族,可能是一个带有病毒检查程序的竞赛,它不喜欢删除后立即写入已删除的同一文件。我使用的修复方法是从菜单栏中使用Project - Clean。

@Ash在上面的评论中是正确的,你的输出文件夹中不应该有资源。为了避免这种情况,我总是将输出文件夹的名称从“bin”更改为更明显的“eclipse / classes”

答案 1 :(得分:23)

我半定期地遇到这个问题,特别是在Windows 7下部署到Tomcat等时。我也遇到了maven的命令行版本,所以不只是Eclipse有这个问题。 / p>

根本原因是某些内容保留在文件句柄上。当我在我的电脑上禁用Windows搜索/索引时,大多数问题都消失了,但问题有时仍会发生。

要追踪正在发生的事情,您需要下载Process Explorer(我遇到的最有用的程序之一)。这使您可以准确地查看PC上正在运行的内容,打开的文件,进程的性能,运行的CPU数量,正在执行的IO数量等等。当您有一个无法删除的文件时,你可以查找 - >查找句柄或DLL,并输入名称的一部分,它会为你提供打开它的人。你并不总是及时发现它,但往往足以知道罪魁祸首。

enter image description here

答案 2 :(得分:13)

什么对我有用:

  1. 关闭Eclipse。
  2. 转到您的bin文件夹并删除所有内容(文件夹本身)。
  3. 启动Eclipse。
  4. 转到Project -> Clean
  5. 清理项目
  6. 请务必核对Project -> Build automatically

答案 3 :(得分:4)

这是一个Windows 7问题。我们在这里生成了大量代码,并在生成代码时面临同样的问题 [两步:

  1. XSL转换和
  2. 漂亮打印],其中一个Windows进程可能会介入Explorer.exe。这只发生在200次中。
  3. 在Linux和Windows XP上,我们既没有Eclipse中的问题也没有生成文件。

    即使运行代码生成和Eclipse作为管理员,我们也会遇到问题。

    我们已经要求微软提供支持,但到目前为止我们提出的建议是“重启!”。无望!

答案 4 :(得分:3)

在Windows下为我删除内容的问题通常归结为以下两种情况之一:

  • 程序正在打开的文件。这包括JVM。这通常不会自行消失。
  • 计算机上的防病毒程序将文件打开,无论它需要做什么。这通常会在一段时间后消失。我经常重新创建工作区,如果这种情况发生得太快,Eclipse会抱怨它无法删除文件。

答案 5 :(得分:2)

检查目标中是否有任何其他进程正在使用文件" bin"文件夹,并杀死它。通常,这会发生在从Eclipse调用的其他Java进程中。

答案 6 :(得分:2)

我在Windows XP / Vista上遇到了类似的问题。在我的例子中,文件的总长度超过255个字符。

/ ABCD / ABCD / ABCD / ABCD .... / ABCD

我找到的唯一解决方案是重命名目录,使其缩短到255个字符。

/ A / A / A / A / A / A / A ... / A

之后你可以删除它。这是Windows API中的限制。文件系统可以管理超过255个字符,但不能管理使用windows api的资源管理器。

答案 7 :(得分:2)

我刚遇到这个问题,TGitCache.exe锁定了bin文件夹。如果你使用TortoiseGit,只需要杀死TGitCache.exe进程,你应该全部设置。

答案 8 :(得分:1)

我遵循的流程是

  1. 关闭eclipse
  2. 浏览文件夹
  3. 删除它

答案 9 :(得分:1)

这恰好发生在我身上。我发生了用户访问控制(UAC)关闭(Windows Vista 32位)。我重新启动了UAC,重新启动了Vista,然后错误就消失了。直观地说,在UAC关闭的情况下,bin / net目录的删除失败了,但是UAC重新启动就可以了。去图。

答案 10 :(得分:1)

我最近有这个问题。我意识到在我将工作空间设置为自动从磁盘重新加载所有资源之后,它就开始发生了。这可以通过以下菜单进行配置:首选项>一般>工作区。

答案 11 :(得分:1)

我刚刚遇到这个问题......这是因为我在BIN树的一个文件夹中打开了一个命令行会话(DOS屏幕...),我正在构建的项目......我想通过命令行运行.class文件。

解决方案只是回到bin文件夹,以便“clean”可以删除并重新创建这些目标文件夹。

答案 12 :(得分:1)

我正在开发一个开源项目,这个特殊问题真的很痛苦,最终浪费了4个小时。

日食试图说的是:

我没有特定bin文件夹的访问权限。 如果你使用的是linux,那么:

  1. 打开终端
  2. 转到将项目导入eclipse的目录 和chmod 777 -R project_folder
  3. 再次检查,如果问题仍然存在,请转到项目中bin所在的文件夹并执行相同的操作 - chmod 777 -R bin_folder
  4. 现在打开日食,清理并再次构建。它应该顺利运行

答案 13 :(得分:1)

1 - 转到项目 - >清理项目清洁

2 - 确保选中项目 - >自动构建

但在此之前,检查项目的 src 目标文件夹的权限,eclipse需要读取和写入这些文件夹,然后释放权限。你的问题将得到解决。

答案 14 :(得分:1)

解决方案(对我来说):在我的情况下,文件不再存在于链接的任何地方,因此无法找到该文件(显而易见)。所引用的所有文件都位于我的src文件夹中的路径或其他本地项目中。到目前为止,除了以下内容之外,没有任何事情对我有用......

我是如何删除断开的链接的。

  • 打开Eclipse,打开项目
  • 转到引用文件的文件夹(在资源管理器中)。
  • 创建一个与文件名相同的文件(空白/空) 引用(即:" File.java")。
  • 回到eclipse并刷新项目。
  • 现在您可以删除现在找到的文件。

删除了链接。

这是一个肮脏的解决方法。我确实希望这个问题得到解决。

答案 15 :(得分:1)

只需添加到knowldege基础。我有这个问题。重启eclipse或windows并没有解决它。

关闭eclipse后,在父目录中删除.metatdata / .lock确实解决了这个问题。 iirc,有时你需要重新启动windoze。

答案 16 :(得分:0)

在Windows上,我用Admin privilige打开了eclipse。问题已经消失了。

答案 17 :(得分:0)

当项目目录的权限发生更改时,我就会遇到此问题。确保用户具有写入权限到Project目录。如果没有写入Project目录的权限,那么eclipse将无法删除/创建Bin文件夹。

要解决它,我给了项目目录的写权限。

Ex:sudo chmod -R 777 / MyProject / code(在我的情况下,我使用Ubuntu,根据操作系统确保你给予写入权限)

答案 18 :(得分:0)

更新Spring Boots!

我遇到了同样的问题,每当我对JSP或资源(css,js,images)进行更改时,我的Spring工具套件都会抛出此错误[Windows 7]。它会允许一次保存以反映更改,但第二次,STS会抛出错误,它无法删除我更改的文件[基本上无法将文件移动到bin文件夹]。我必须停止应用程序,做项目 - >清除错误,进行更改并启动应用程序。 Process explorer说javawbin目录上有句柄。

我尝试了所有列为答案的建议 - 重新创建了工作区,检查了项目引用,更新了我的Spring工具套件,禁用了Windows搜索,索引等等。但都没有。

最后我将弹簧靴从1.4.0更新到1.5.4,错误消失了。因此,如果您使用Spring Boots遇到此问题,请检查您的版本并进行更新。您可能还需要添加spring-boot-devtools以使用最新的Spring boots版本进行热交换。

答案 19 :(得分:0)

我通过禁用Windows搜索索引来修复此问题。我似乎记得很久以前我试图使用Windows文件浏览器搜索我的项目文件夹。我认为Windows从那时起通过扫描文件夹使搜索索引保持最新状态,现在正在用eclipse清理头部。

要禁用:

  1. 控制面板
  2. 管理工具
  3. 服务
  4. 查找“Windows搜索”
  5. 禁用它
  6. 由于Windows搜索被破坏,我无论如何都不使用它。我使用agent ransack进行搜索。

答案 20 :(得分:0)

它对我有用:

  1. 关闭Eclipse。
  2. 从您的proyect中的Eclipse文件夹中删除类中的所有数据。
  3. 打开Eclipse。
  4. 团队 - >清理

答案 21 :(得分:0)

有时可以通过清理项目并重建它来解决问题。这对我来说很有用。

此外,点击“项目”标签中的'自动构建'通常可以更方便地解决小问题。

答案 22 :(得分:0)

只是遇到同样的问题:无法清理/重建Eclipse项目,因为我的类输出文件夹无法删除。

我关闭了Eclipse并尝试删除该文件夹。 Windows抱怨它被其他应用程序使用。

在Windows上,我从Windows /搜索栏运行resmon.exe。然后进入CPU选项卡/关联句柄我搜索该文件夹路径,我从OUTLOOK找到它的句柄。我发送了一封带有该路径文件的邮件,看来OUTLOOK保留了它。删除句柄条目后,一切都恢复了。

答案 23 :(得分:0)

我按照这些步骤去掉了这个:

  • 关闭eclipse
  • 转到任务管理器 - >进程 - > java.exe - >结束进程
  • 选择javaw.exe - >结束流程
  • 然后转到项目位置删除它
  • 启动eclipse并删除项目
欢呼......那就是......

答案 24 :(得分:0)

Process Explorer显示,java的子流程javaw使用了无法删除的Android Java .jar文件...

这似乎有点儿。

解决方法是关闭Eclipse并从资源管理器中删除该文件......

答案 25 :(得分:0)

在我清理项目之前,我必须结束chromedriver。任务管理器中有一些流程需要关闭。

答案 26 :(得分:0)

我没有阅读过所有以前的回复,但我也有同样的问题。我在Ubuntu 12.10,64 Bit和SSD上运行Eclipse 4.1。我意识到当我的计算机与打开的Eclipse崩溃时,这个删除问题总会出现。我设法通过删除特定的索引文件来解决问题。例如,我的工作区日志文件(位于/.metadata/.log)已满,并显示EOFException,表示无法读取某些元数据,例如

!ENTRY org.eclipse.ui.ide 4 4 2012-12-13 13:25:35.988
!MESSAGE Problems occurred refreshing the selected resources.
!SUBENTRY 1 org.eclipse.core.resources 4 567 2012-12-13 13:25:35.988
!MESSAGE Could not read metadata for '/home/xyzworkspace/.metadata/.plugins/org.eclipse.core.resources/.projects/server-test/.indexes/7/9c/properties.index'.
!STACK 0
java.io.EOFException
    at java.io.DataInputStream.readByte(DataInputStream.java:250)
    at org.eclipse.core.internal.localstore.Bucket.load(Bucket.java:298)
    at org.eclipse.core.internal.properties.PropertyBucket.load(PropertyBucket.java:258)
    at org.eclipse.core.internal.localstore.Bucket.load(Bucket.java:274)
    at org.eclipse.core.internal.localstore.BucketTree.internalAccept(BucketTree.java:98)
    at org.eclipse.core.internal.localstore.BucketTree.internalAccept(BucketTree.java:109)
    at org.eclipse.core.internal.localstore.BucketTree.internalAccept(BucketTree.java:109)
    at org.eclipse.core.internal.localstore.BucketTree.accept(BucketTree.java:76)
    at org.eclipse.core.internal.properties.PropertyManager2.deleteProperties(PropertyManager2.java:102)
    at org.eclipse.core.internal.properties.PropertyManager2.deleteResource(PropertyManager2.java:111)
    at org.eclipse.core.internal.resources.Resource.deleteResource(Resource.java:918)
    ... here goes the rest of the stack trace...

删除此特定索引文件并重新启动Eclipse后,一切都像以前一样工作。任何反馈意见是否有效。

答案 27 :(得分:0)

我遇到了同样的问题。重新启动Eclipse后,对我进行一次删除,然后删除失败。我最后做的是重启Eclipse然后按住Ctrl键并单击我要删除的每个项目。然后我立刻将它们全部删除了,它运行正常。

答案 28 :(得分:-1)

我去了Java Build Path-> Source(tab),将Default Output文件夹的路径更改为customerConfig / bin到customerConfig / bins之类的其他文件夹,进行了构建,错误消失了,然后又返回了并将其更改回customerConfig / bin