Frage

Ich habe eine Ameise-Build, der Verzeichnisse macht, ruft javac und alle regulären Sachen. Das Problem, das ich habe ist, dass wenn ich versuche, ein sauberen zu tun (die ganze Zeug löschen, die erstellt wurde) die Lösch Aufgabe Berichte, dass einige Dateien zu löschen, ist nicht in der Lage ist. Wenn ich versuche, sie zu löschen, manuell funktioniert es ganz gut. Die Dateien sind anscheinend nicht offen von einem anderen Prozess, aber ant noch nicht gelingt, sie zu löschen. Was kann ich tun?

War es hilfreich?

Lösung

Ich habe dieses Problem einmal. Es war, weil die Datei habe ich versucht, ein Teil eines Classpath für eine andere Aufgabe zu löschen war.

Andere Tipps

Es hängt ...

  • Der Ant-Prozess hat nicht genügend Berechtigungen, um die Dateien zu löschen (in der Regel, weil sie von einem anderen Benutzer erstellt wurden, möglicherweise ein Systembenutzer). Versuchen Sie, Ihre Ant-Skript als Administrator ausgeführt wird, unter Verwendung von Run As.
  • Windows ist wirklich schlecht Dateisperren Reinigung, wenn Prozesse sterben oder getötet werden; folglich denkt Windows die Datei von einem Prozess gesperrt ist, der gestorben ist (oder getötet wurde). Es gibt nichts, was man in dieser Situation anders als Neustart tun kann.
  • Bessere Tools, um Ihren Systemzustand zu überprüfen. Ich empfehle den Download der SysInternals Tools und mit ihnen anstelle der Standard-Windows-Äquivalente .

Mit Ant Retry Aufgabe hat mir geholfen. Ich habe es gerade um die Aufgabe löschen gewickelt.

Sie müssen nicht sagen, wenn Ihr Build ausgeführt wird, wenn der aktuell angemeldete Benutzer. Wenn nicht, führen die Tatsache, dass explorer.exe oder ein anderer Prozess das Verzeichnis hat gezeigt kann auch gesperrt werden. Aber es in dem gleichen explorer.exe Prozess zum Löschen erfolgreich sein würde. Versuchen Sie Unlocker von http://ccollomb.free.fr/unlocker/ zu sehen, welche Prozesse die Dateien / Verzeichnisse gesperrt.

ich vor dem gleichen Problem.
Ich habe keinen Classpath auf oder Antivirus läuft auf meinem Rechner.
Allerdings war die ANT-Version war ich mit 32-Bit und das JDK ich installiert war 64 Bit.
Ich installierte ein 32-Bit-JDK und das Problem behoben wurde.

Gibt es etwas, von dem Ant-Prozess, der die Dateien (oder das Verzeichnis) offen hält? Dies würde die Situation führen, wo man sich nach dem Laufen Ameise löschen konnte, aber nicht während.

Ant-Versionen vor 1.8.0 haben einen Fehler, der während des Löschvorganges zu zufälligen Fehlern führt. Versuchen Sie es mit Ant 1.8.0 oder neuer.

Sie können die Fehler Details hier sehen https://issues.apache.org /bugzilla/show_bug.cgi?id=45960

In meinem Fall meine Ameise sauber wurde von Eclipse-Fehler, nicht auf Dateien bauen zu entfernen. Ich sehe dies von Zeit zu Zeit. Normalerweise gelingt es auf einem Wiederholungsversuch. Diesmal nicht. Versuchen ant läuft sauber von der Kommandozeile, fehlgeschlagen können nicht „nicht in der Lage zu löschen“ löschen. Es muss Eclipse das Problem Datei festhalten wurde, als ich von Eclipse verlassen, war cmd Linie der Lage OK zu löschen.

Ich habe dieses Problem wurde mit viel in letzter Zeit, und es ist zufällig. Einmal es funktioniert, das nächste Mal, funktioniert es nicht. Ich benutze NetBeans (in dem Fall, dass es ankommt) und ich habe eine Menge zusätzlicher Aufgaben hinzugefügt build.xml. Ich habe dieses Problem in der -Post-jar Aufgabe. Es würde passieren, wenn ich unjar auf die Datei aufrufen, dann löschen. Ich vermute, dass NB versucht, das Glas zu scannen und dies bewirkt, dass die Sperre auf es.

Was für mich gearbeitet, sofort das Glas zu Beginn des -Post-jar zu umbenennen und eine Erweiterung von TMP, um es hinzuzufügen. Dann rufe ich die temporäre Datei unjar. Wenn ich fertig bin ich auf die gewünschten jar Namen umbenennen zurück.

Auch ich hatte das gleiche Problem und wurde versucht, manuell die Build-Verzeichnisse zu löschen. Schließlich löste ich es durch die .jar Artefakt meines Projektes zu einem anderen Namen von Projektnamen selbst umbenennen. Für die Ex: mein Projekt war Portal und meine Ant-Skript verwendet gebaut erzeugen portal.jar, wo eclipse ant nicht in der Lage war, diese portal.jar zu löschen. Wenn ich meine build.xml änderte meine .jar als portalnew.jar zu erzeugen, war Eklipse der Lage, diese portalnew.jar nächste Mal zu löschen. Hoffe, das hilft.

Sie müssen sie manuell in Windows löschen. Er arbeitete für mich. (In der Regel werden die Dateien gelöscht werden, sind ältere Versionen von jar .. Zum Beispiel: Wenn es httpcore.4.2.5.ja5r und httpcore.4.3.jar vorhanden ist, wird es versuchen, 4.2.5.jar löschen)

i konfrontiert dieses Problem wie die Datei die Ameise zu löschen versuchte, wurde von einem anderen Dienst / Prozess verwendet wird. Ich hörte auf den Dienst, und dann die Ameise Build-Skript lief durch.

In meinem Fall habe ich aufgehört Java-Prozess mit dem Task-Manager ausgeführt wird und erneut ausführen, um die Ant-Build-Datei. Die Datei konnte löschen und Build erfolgreich war.

Ich habe Probleme wie diese Art und Weise zu sehen, zu oft, da ich zu Microsoft Windows 10. die Datei sofort umbenennen schaltete vor dem Entfernen sie es für mich gelöst:

<rename src="file.name" dest="file.name.old"/>
<delete file="file.name.old" />

Wenn Sie git installiert
öffnen Sie das Verzeichnis in git Bash-Shell (Suche nach git bash in dem Start).
Dann die Bash-Befehl geben Sie die Dateien löschen wie

rm -r filename.xyz
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top