Neu in Ant - Problem mit relativen Pfaden

8

Bitte helfen Sie mir, ich werde ein bisschen verrückt !!

Ich benutze Eclipse-generierte Anti-Dateien, um ein Projekt mit Abhängigkeiten zu erstellen, von denen eines eine eigene Build-Datei in einem Verzeichnis hat, das ein Geschwister für den direkten Vorgänger des von mir erstellten Projekts ist . Z.B. Wenn mein Verzeichnis "/ base / modules / kliniccontext" ist, ist das Verzeichnis einer der Abhängigkeiten einfach "/ base / core" .

Also verwendet die generierte build.xml ../../core welche afaik korrekt ist. Aber es ist nicht!! Aus der Konsole ist ersichtlich, dass Ant drei Ebenen zurückgibt und nicht nur zwei (es gibt FileNotFound auf "/ core / build.xml" ).

Ich habe versucht, den relativen Pfad zu "../ core" zu ändern, und Ant geht auf one Ebene zurück (es klagt ) > "/ base / modules / core" nicht vorhanden). Also wie in der Welt sage ich Ant t gehen zurück durch zwei Ebenen? Ich würde es vorziehen, absolute Pfade zu vermeiden, da ich das Projekt irgendwann auf eine andere Maschine verschieben muss.

Danke allen.

    
Alessandro 03.12.2009, 14:25
quelle

1 Antwort

10

Alle Ant-Pfade sind relativ zu Ihrem aktuellen Arbeitsverzeichnis.

Überprüfen Sie also, in welchem ​​Verzeichnis Sie Ihr Skript ausführen.

Ich schlage vor, dass Sie ${basedir} verwenden, um einen Pfad relativ zu einem Speicherort von build.xml zu erhalten.

In Ihrem Fall sollte der relative Pfad wie folgt aufgebaut sein: ${basedir}/../../core anstelle von ../../core .

Die Inkonsistenzen, auf die Sie stoßen, illustrieren einen Punkt, warum Eclipse-generierte Ameisen-Skripte ein guter Ausgangspunkt sind, aber niemals ein gutes Projekt-Build-System.

BEARBEITEN . Ich frage mich, warum der Eclipse-Ameisen-Generator ${basedir} nicht in relative Pfade einfügt? Vielleicht solltest du es als Fehler melden.

    
Alexander Pogrebnyak 03.12.2009, 14:56
quelle

Tags und Links