Затмение не может удалить ошибку - PullRequest
50 голосов
/ 18 апреля 2010

Я работаю над проектом с Eclipse, и к настоящему времени все было хорошо, но в прошлый раз, когда я пытался его собрать, он вернул ошибку,

"Проект не был построен из-за" Не удалось удалить '/ Torpedo / bin / bin'. ". Исправьте проблему, затем попробуйте обновить этот проект и собрать его, так как он может быть несовместимым Torpedo Unknown Java Problem"

И он удалил мою папку bin, в которой хранятся все изображения и все необходимое для программы. (К счастью, у меня была резервная копия). Я попытался найти его и попробовал каждое найденное решение, но ничего не помогло, а также большинство из них предлагает удалить папку вручную, чего я не могу. Что мне делать?

Ответы [ 29 ]

29 голосов
/ 18 апреля 2010

Я вижу это регулярно в Windows. Я думаю, что это ошибка или гонка в Eclipse, может быть, гонка с проверкой на вирусы, которая не любит удаление, сразу же после записи в тот же файл, который был удален. Исправление, которое я использую, заключается в использовании Project - Clean из строки меню.

@ Эш прямо в комментариях выше, что у вас не должно быть ресурсов в вашей выходной папке. Чтобы избежать этого, я всегда изменяю имя моей выходной папки с «bin» на что-то более очевидное, например «eclipse / classes»

23 голосов
/ 29 сентября 2011

У меня есть эта проблема периодически, особенно при развертывании на Tomcat или что-то подобное, под Windows 7. Это также случается со мной с версией командной строки maven, так что эта проблема возникает не только в Eclipse.

Основная причина в том, что что-то удерживает дескриптор файла. Большинство проблем исчезли, когда я отключил поиск / индексирование Windows на моем ПК, но иногда проблемы все еще возникают.

Чтобы отследить, что происходит, вам нужно скачать Process Explorer (одна из самых полезных программ, с которыми я когда-либо сталкивался). Это позволяет вам точно видеть, что работает на вашем ПК, какие файлы у него открыты, производительность процессов, сколько процессоров он выполняет, количество операций ввода-вывода и т. Д. Когда у вас есть файл, который нельзя удалить , вы можете найти-> Найти дескриптор или DLL, и ввести часть имени, и это даст вам, кто его открыл. Вы не всегда успеваете вовремя, но достаточно часто, чтобы знать виновника.

enter image description here

13 голосов
/ 01 июля 2013

Что у меня работает:

  1. Закрыть Eclipse.
  2. Перейдите в вашу папку bin и удалите все содержимое ( не сама папка).
  3. Запустите Eclipse.
  4. Очистите свой проект, перейдя на Project -> Clean.
  5. Убедитесь, что вы проверили Project -> Build automatically.
4 голосов
/ 11 сентября 2012

Это проблема Windows 7. Мы генерируем много кода здесь и сталкиваемся с той же проблемой при создании кода [двухступенчатый:

  1. XSL-преобразование и
  2. pretty-printing], один из процессов Windows, вероятно, Explorer.exe, вмешивается. Это происходит только один раз из 200.

В Linux и Windows XP у нас нет проблем ни в Eclipse, ни в создании файлов.

И мы сталкиваемся с проблемами, даже если запускаем генерацию кода и Eclipse от имени администратора.

Мы попросили Microsoft о поддержке, но у нас до сих пор было предложение «Перезагрузитесь!». Безнадежно!

3 голосов
/ 18 апреля 2010

Проблемы с удалением для меня вещей в Windows обычно сводятся к одной из двух вещей:

  • Файл, открываемый программой.Это включает в себя JVM.Обычно это не проходит само по себе.
  • Антивирусная программа на компьютере имеет открытый файл для всего, что ему нужно сделать.Это обычно проходит через некоторое время.Я часто воссоздаю рабочие пространства, и если это происходит слишком быстро, Eclipse жалуется, что не может удалить файлы.
2 голосов
/ 30 сентября 2011

У меня была похожая проблема с Windows XP / Vista. В моем случае общая длина файла была более 255 символов.

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

Единственное решение, которое я нашел, - переименовать каталоги, чтобы сделать их короче, чем 255 символов.

/ а / а / а / а / а / а / а ... / а

После этого вы можете удалить его. Это ограничение в Windows API. Файловая система может управлять более чем 255 символами, но не проводником, который использует Windows API.

2 голосов
/ 08 августа 2016

У меня просто была эта проблема, и это был TGitCache.exe, блокирующий папку bin. Если вы используете TortoiseGit, просто убейте процесс TGitCache.exe, и все будет готово.

2 голосов
/ 11 августа 2011

Проверьте, использует ли какой-либо другой процесс файл в целевой папке «bin», и уничтожьте его. Обычно это происходит с другими процессами Java, вызванными из Eclipse.

1 голос
/ 11 мая 2012

Процесс, которому я следовал,

  1. Закрыть затмение
  2. Просмотр в папку
  3. Удалить его
1 голос
/ 11 августа 2010

У меня только что была эта проблема ... и это было связано с тем, что у меня был сеанс командной строки (экран DOS ...), открытый в папке в дереве BIN для проекта, который я строил ... Я хотел запустить файл .class из командной строки.

Решение состояло в том, чтобы просто вернуться в папку bin, чтобы "clean" мог удалить и воссоздать эти целевые папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...