Portal > Foren > Java > Allgemeine Java-Programmierung > Ant über Runtime.exec
Antwort
 
Themen-Optionen
Alt 01.12.2007, 23:51 Nach oben    #1
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 426
Standard Ant über Runtime.exec

Zurzeit basteln Sparrow und ich an einem kleinen Projekt, welches mit Ant gestartet werden soll. Da hab ich zurzeit paar Probleme.
Problem Nr.1 ist gelöst (mehr oder weniger..) -> [Ant] Unable to locate tools.jar
Aber Problem Nr.2 besteht noch:
Das Projekt besteht aus zwei Teilen, die mit einem Ant-Aufruf compiliert und in Jars gepackt werden sollen.

Die Lösung: Eine Ant-Extention, welche in die beiden Projektteile geht, und die build.xml ausführt.
Bei Sparrow (mit Linux) funktioniert es wunderbar. Bei mir (mit Windows XP) hab ich das Problem, dass Runtime.exec Ant nicht findet. Ich vermute, dass Java die Windows-Pfad-Einstellungen nicht automatisch übernimmt, aber leider weiß ich auch nicht, wie ich es manuell mache.

So wird die jeweilige Teil-Build.xml ausgeführt:
Java Code:
  1. String command = "ant " + target + " " + childFile.getName(); // In dem Fall ist childFile.getName() = "build.xml"
  2.  Process p = Runtime.getRuntime().exec(command, null, childFile.getParentFile());

Aber vielleicht haben wir die Exception falsch interpretiert, deshalb hier noch mal die Exception:
Code:
Workin with BUILD-FILE:  .\coresystem\build.xml
Failed to  exit recursive ant-file: Cannot run program "ant" (in directory ".\coresystem":(  CreateProcess error=2, Das System kann die angegebene Datei nicht  finden
java.io.IOException:  Cannot run program "ant" (in directory ".\coresystem":( CreateProcess error=2,  Das System kann die angegebene Datei nicht finden
[...]
at  AntRecurser.recurse(AntRecurser.java:82)
at AntRecurser.recurse(AntRecurser.java:63)
[...] 

Geändert von Ben (02.12.2007 um 18:02 Uhr). Grund: Link aktualisiert
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2007, 11:11 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Also... ihr habt ne build.xml, für die ihr eine neue Extension geschrieben habt, die Ant via Runtime.exec aufrufen soll?

Ohne die Ant-API zu kennen bin ich mir doch absolut sicher, dass ihr auch einfach ne Klasse von Ant nutzen könntet, um Ant für ein gegebenes build-File zu starten.
Würde ich für wesentlich eleganter halten.

Ansonsten bestünde auch noch die Möglichkeit, dass du den kompletten Pfad zu Ant im exec angibst.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2007, 13:01 Nach oben    #3
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 575
Standard

Das mit dem Ant-Task ist richtig, allerdings ist die Extension dafür da ein bestimmtes Verzeichnis rekursiv zu durchsuchen und alle darin enthaltenen build.xml ausführen.
Auf diese Weise soll das Übersetzen möglichst flexibel gehalten werden, da es unter Umständen verschiedene Plugins mit übersetzt werden sollen.
Soweit ich weiß kann der Ant-Task das normalerweise nicht.

Gruß
Sparrow
sparrow ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.12.2007, 13:20 Nach oben    #4
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.110
Standard

Du kannst doch aber die Ant-Klassen (Java-Klassen) von Java aus verwenden, soweit ich mich erinnere. Und wenn's zur Not ein AntRunner.main(new String[] {target ,"build.xml"}) wird, hauptsache es läuft.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 10.12.2007, 01:09 Nach oben    #5
Oliver O.
 
Benutzerbild von Xean
 
Registriert seit: 17.08.2005
Beiträge: 426
Standard

es geht viel einfacher^^
Runtime.exec("ant.bat [...]");
unter linux gehts mit ant, und windows nur mit ant.bat... wer soll darauf kommen?
Xean ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ant und javadoc philo Tools, Server, Betriebssysteme 0 25.05.2005 18:43
Jars werden nach Ant durchlauf nicht gefunden BoneCracker Allgemeine Java-Programmierung 3 07.02.2005 10:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:45 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44