2013-03-13 9 views
11

Ich entwickle eine benutzerdefinierte ant Aufgabe mit Java in der Eclipse-IDE.Debug Ant Aufgabe aus der Finsternis

ist es irgendwie möglich, es zu debuggen? das ist ein Haltepunkt auf der Java-Linie und wenn Ant ausgeführt wird, stoppt es dort und ich kann durch den Code gehen?

edit: da diese Frage als Duplikat geschlossen wurde, möchte ich erläutern, warum es ganz anders ist.

Ich suche den Java-Code zu debuggen, der eine Ameisen-Aufgabe ausmacht und nicht nur die Schritte eines Ameisen-Builds. Die Antworten haben mir bereits teilweise geholfen, aber ich muss noch herausfinden, warum meine Eclipse keine Debug Remote Java Application hat.

+0

Haben Sie diese Frage gesehen? http://stackoverflow.com/questions/3039933/ant-debugging-in-eclipse –

+0

yeah, aber ich will nicht das Ameisen buildfile debuggen, ich möchte den Java-Code debuggen, der eine Ameisenaufgabe bildet. – clamp

+0

Entschuldigung, missverstanden Ihre Frage. [Relevanter Teil des Tutorials für benutzerdefinierte Aufgaben] (http://ant.apache.org/manual/tutorial-writing-tasks.html#Debugging) schlägt vor, eine Ameise aus dem Quellcode dafür zu erstellen. –

Antwort

18

Sie müssen ANT mit aktiviertem Remote-Debug starten, indem Sie Folgendes eingeben, bevor Sie ANT ausführen.

set ANT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 

Dadurch wird die JVM, auf der ANT ausgeführt wird, angehalten, bis Sie den Debugger anfügen.

Als nächstes müssen Sie den Klassenpfad ändern, den ANT verwendet, um die Klassen zu erfassen, die die benutzerdefinierte Aufgabe bilden, die Sie schreiben. Ich denke nicht, dass es eine Möglichkeit gibt, dies einfach mit der Umgebungsvariablen zu tun, also ist es am schnellsten, nur die Datei ant.bat zu bearbeiten.

Wenn Ihre benutzerdefinierte Task jetzt ausgeführt wird, wird sie an allen Breakpoints in Ihrer IDE angehalten.

+0

danke, ist eine einfache genug, um Ameisen zu den Klassen zu führen, die meine Aufgabe ausmachen? – clamp

+0

Nein, 'taskdef' nimmt nur den Klassennamen, Sie müssen das Ausgabeverzeichnis der IDE zum Klassenpfad der ANT hinzufügen, damit die ANT JVM die Klasse findet. –

+0

Laut https://ant.apache.org/manual/running.html sieht es so aus, als könnten Sie Ihre Bibliothek dem Klassenpfad hinzufügen, indem Sie die Befehlszeilenoption -lib für ant 1.6 und höher verwenden. Dies wäre der Bearbeitung der Batch-Datei vorzuziehen. – kc2001

Verwandte Themen