Frage

Bitte helfen Sie, ich werde etwas verrückt !!

Ich bin mit Eclipse-generierte antfiles ein Projekt mit Abhängigkeiten zu bauen, von denen ein in einem Verzeichnis seine eigene Buildfile hat, welches ein Geschwister zum direkten Vorfahren des Projektes Ich baue . Z.B. wenn mein Verzeichnis "/ base / modules / clinicalcontext" , das Verzeichnis von einem der Abhängigkeiten ist einfach "/ base / Kern" .

So wird der erzeugte build.xml verwendet ../../core die afaik korrekt ist. Aber es ist nicht!! Von der Konsole ist es offensichtlich, dass Ant zurück geht drei Ebene und nicht nur zwei (es gibt FileNotFound auf "/ core / build.xml" ).

Ich habe versucht, den relativen Pfad zu „../ Kern“ zu ändern und viel zu meinem Erstaunen, auf diese Weise Ant durch geht zurück ein Ebene (es jammert "/ base / modules / Kern" ist nicht vorhanden). So wie in der Welt sagen, dass ich Ant t zurückgehen von zwei Ebenen? Ich würde es vorziehen, mit absoluten Pfade zu vermeiden, da ich haben könnte, um das Projekt auf eine andere Maschine eines Tages zu bewegen.

Danke alle.

War es hilfreich?

Lösung

Alle Ant Pfade zu Ihrem aktuellen Arbeitsverzeichnis relativ sein.

So überprüfen Sie welches Verzeichnis Sie Ihr Skript ausführen aus.

Ich schlage vor, dass Sie beginnen ${basedir} mit einem Pfad relativ zu einem Ort von build.xml zu erhalten.

In Ihrem Fall sollte der relative Pfad so konstruiert werden. ${basedir}/../../core, statt ../../core

Die Inkonsistenzen auftreten einen Punkt verdeutlichen, warum Eclipse-generierte Ant-Scripts ein guter Ausgangspunkt, aber nie ein gutes Projekt Build-System.

Bearbeiten . Ich frage mich, warum eclipse ant Generator nicht ${basedir} in relativen Pfaden einfügen? Vielleicht sollten Sie es als Fehler melden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top