2008-09-10 8 views
14

Ich benutze Windows und ich versuche ANT zu arbeiten.Ameise build.xml Windows Leerraum im Pfad

Wenn ich eine Ameise Build von der Kommandozeile tun, erhalte ich: C:\dev\Projects\springapp\${%ANT_HOME%}\lib not found.

Ich schau dir in die build.xml Datei und ich finde: appserver.home=${user.home}/apache-tomcat-6.0.14 (was ich gerade kopiert und direkt aus einem Tutorial geklebt)

habe ich es zu:

appserver.home="C:\Program Files\Apache Software Foundation\Tomcat 6.0"

aber jetzt erhalte ich:

C:\dev\Projects\springapp\"C:Program FilesApache Software FoundationTomcat 6.0"\lib not found.

Es scheint, wie der weiße Raum in Program Files und Tomcat 6.0 verursacht die Build zum Scheitern verurteilt. Wie gehen Sie mit diesen in XML-Dateien um, ohne das Verzeichnis mit einem Pfad ohne Leerraum neu zu erstellen?

Antwort

11

ändert es zu

appserver.home="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0" 
+6

Oder verwenden Sie '/' anstelle von '\\'. Es funktioniert das gleiche in Ant unter Windows und ist ein wenig einfacher zu lesen. –

+0

Benötigen Sie sogar die Anführungszeichen? Ich denke, das sollte funktionieren: 'appserver.home = C: \\ Programme \ Apache Software Foundation \\ Tomcat 7.0' – Ulises

1

Neben dem Windows-Verzeichnis Separator auch sicherstellen, dass zu entkommen, dass alle Pfade, die Sie eingeben in der korrekten Aktivierung sein sollen, wird von Windows nicht case sensitiven aber Fall presrving, während Ant ist Groß- und Kleinschreibung.

2

Es sieht so aus, als hätten Sie Ihre Eigenschaften falsch eingerichtet.

Ich bin Ihre basedir Eigenschaft raten bei C zeigt: \ dev \ Projects \ springapp und Ihre Eigenschaften verwenden Wert wie:

<property name="property.1" value="directory" /> 

statt

<property name="property.1" location="directory" /> 

den Standort Eigenschaft verwenden dann löst Links relativ zu Ihrem basedir auf, wenn der Standort ein relativer Pfad ist, und zum absoluten Pfad, wenn Sie einen dieser Pfade eingeben. Wenn Sie Teile Ihrer Ant-Datei speziell posten könnten, wie Sie appserver.home definieren und wie Sie sie in der Aufgabe verwenden, die den Fehler verursacht, könnte ich spezifischer sein.

5

Variante mit "/" statt "\" funktioniert auf meinem System. löschen müssen nur "Symbole vor und nach der Pfadstruktur.

1

In der Spitze Ihres build.xml, versuchen Sie, <property environment="env"/> und dann ${env.USER_HOME} (oder was auch immer Sie haben in Ihrer Umgebung)., dass es für mich getan hat ($ {} env.JAVA_HOME statt ${java.home}).