2008-09-10 5 views
14

J'utilise Windows et j'essaye de faire fonctionner ANT.ant build.xml windows espace blanc dans le chemin

Quand je fais une construction fourmi de la ligne de commande, je reçois: C:\dev\Projects\springapp\${%ANT_HOME%}\lib not found.

Je regarde dans le fichier build.xml et je trouve: appserver.home=${user.home}/apache-tomcat-6.0.14 (que je viens copié et collé directement à partir d'un tutoriel)

je l'ai changé:

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

mais maintenant je reçois:

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

Il semble que l'espace blanc dans Program Files et Tomcat 6.0 sont à l'origine de la construction à l'échec. Comment traitez-vous ces fichiers dans les fichiers XML sans re-créer le répertoire avec un chemin sans espace blanc?

Répondre

11

Modifier à

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

Ou utilisez '/' au lieu de '\\'. Il fonctionne de la même manière dans Ant sur Windows et est un peu plus facile à lire. –

+0

avez-vous même besoin des devis? Je pense que cela devrait fonctionner: 'appserver.home = C: \\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0' – Ulises

1

En plus de sortir le séparateur de répertoire Windows également vous assurer que tous les chemins que vous tapez dans devraient être avec une capitalisation correcte, Windows est insensible à la casse, mais le cas presrving, tandis que Ant est sensible aux majuscules et minuscules.

2

Il semblerait que vos propriétés ne soient pas configurées correctement.

Je devine votre propriété basedir pointe du doigt C: \ dev \ Projects \ SpringApp et vos propriétés utilisent la valeur comme:

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

au lieu de

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

En utilisant la propriété de localisation résout ensuite les liens en fonction de votre base si l'emplacement est un chemin relatif et vers le chemin absolu si vous entrez l'un de ceux-ci. Si vous pouvez publier des parties de votre fichier Ant spécifiquement comment vous définissez appserver.home et comment vous l'utilisez dans la tâche qui génère l'erreur, je pourrais être plus précis.

5

La variante avec "/" à la place "\" fonctionne sur mon système. Juste besoin de supprimer "les symboles avant et après la structure du chemin.

1

En haut de votre build.xml, essayez d'ajouter <property environment="env"/> , puis en utilisant ${env.USER_HOME} (ou tout ce que vous avez dans votre environnement). Cela l'a fait pour moi ($ {} env.JAVA_HOME plutôt que ${java.home}).

Questions connexes