Ответ 1
Однажды я столкнулся с этой проблемой. Это связано с тем, что файл, который я пытался удалить, был частью classpath для другой задачи.
У меня есть сборка ant, которая делает каталоги, вызывает javac и все обычные вещи. Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь сделать чистую (удалить все созданное вещество), отчеты о задачах удаления, которые были неспособны удалить некоторые файлы. Когда я пытаюсь удалить их вручную, он работает нормально. Файлы, по-видимому, не открыты каким-либо другим процессом, но ant до сих пор не удаляет их. Что я могу сделать?
Однажды я столкнулся с этой проблемой. Это связано с тем, что файл, который я пытался удалить, был частью classpath для другой задачи.
Это зависит...
Использование Ant Задача повтора помогла мне. Я только что обернул его вокруг задачи "Удалить".
Вы не говорите, что ваша сборка запускается в качестве текущего пользователя. Если нет, то факт, что explorer.exe или другой процесс имеет указанный каталог, также может привести к его блокировке. Но удаление этого в том же самом процессе explorer.exe будет успешным. Попробуйте Unlocker из http://ccollomb.free.fr/unlocker/, чтобы узнать, какие процессы заблокированы файлами/каталогами.
У меня была та же проблема.
У меня не было никакого набора классов или антивируса, запущенного на моей машине.
Тем не менее, версия ANT, которую я использовал, была 32 бит, а установленный JDK был 64 бит.
Я установил 32-битный JDK, и проблема была решена.
Есть ли что-нибудь из процесса Ant, в котором хранятся файлы (или каталог)? Это приведет к ситуации, когда вы можете удалить их после запуска ant, но не во время.
Ant версии до 1.8.0 имеют ошибку, которая приводит к случайным ошибкам во время операции удаления. Попробуйте использовать Ant 1.8.0 или новее.
Здесь вы можете увидеть подробности об ошибках https://issues.apache.org/bugzilla/show_bug.cgi?id=45960
У меня была эта проблема много в последнее время, и она случайная. Один раз он работает, в следующий раз, когда он не работает. Я использую NetBeans (в случае, если это имеет значение), и я добавил много дополнительных задач для build.xml. У меня была эта проблема в задаче -post-jar. Это произойдет, когда я вызову unjar в файле, а затем удалю. Я подозреваю, что NB пытается сканировать банку, и это вызывает блокировку.
Что сработало для меня, так это сразу же переименовать банку в начале -post-jar и добавить к ней расширение .tmp. Затем я вызываю unjar в файле temp. Когда я закончил, я переименую имя нужного баннера.
У меня тоже была такая же проблема, и я попытался вручную удалить каталоги сборки. Наконец, я решил это, переименовав артефакт .jar моего проекта на другое имя из самого имени проекта. Например: моим проектом был портал, а мой ant встроенный script использовать для генерации portal.jar, где eclipse ant не смог удалить этот portal.jar. Когда я изменил свой build.xml, чтобы сгенерировать мой .jar как portalnew.jar, eclipse смог удалить этот портал new.jar в следующий раз. Надеюсь, это поможет.
В моем случае мой ant clean не работал с Eclipse, не смог удалить файлы сборки. Я вижу это время от времени. Обычно удается повторить попытку. На этот раз нет. Пробовал ant очистить из командной строки, не удалось Не удалось удалить "невозможно удалить". Должно быть, Eclipse держится за файл проблемы, когда я вышел из Eclipse, строка cmd смогла удалить ОК.
Вам нужно удалить его вручную в Windows. Это сработало для меня. (Обычно файлы, которые нужно удалить, - это более старые версии jar. Например: если существует httpcore.4.2.5.ja5r и httpcore.4.3.jar, он попытается удалить 4.2.5.jar)
i столкнулся с этой проблемой, поскольку файл, который пытался удалить файл ant, использовался некоторыми другими службами/процессами. Я остановил службу, а затем выполнил ant build script.