ant build.xml windows пробел в пути - PullRequest
14 голосов
/ 11 сентября 2008

Я использую Windows и пытаюсь заставить ANT работать.

Когда я делаю сборку муравья из командной строки, я получаю: C:\dev\Projects\springapp\${%ANT_HOME%}\lib not found.

Я смотрю в файл build.xml и нахожу: appserver.home=${user.home}/apache-tomcat-6.0.14 (который я только что скопировал и вставил прямо из учебника)

Я изменил его на:

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

но теперь я получаю:

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

Похоже, что пробел в Program Files и Tomcat 6.0 вызывает сбой сборки. Как вы справляетесь с этим в XML-файлах, не создавая заново каталог без пути?

Ответы [ 6 ]

13 голосов
/ 11 сентября 2008

Измените его на

appserver.home="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0"
6 голосов
/ 08 сентября 2010

Вариант с "/" вместо "\" работает в моей системе. Просто нужно удалить "символы до и после структуры пути.

2 голосов
/ 26 июля 2011

Найдите краткое имя Windows для этих каталогов, используя dir /x и используйте thme при установке значений path.

Еще несколько обсуждений на Как Windows определяет / обрабатывает краткое имя DOS для любого файла?

2 голосов
/ 11 сентября 2008

Похоже, у вас неправильно настроены свойства.

Я предполагаю, что ваше свойство basedir указывает на C: \ dev \ Projects \ springapp, а ваши свойства используют значение, например:

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

вместо

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

Использование свойства location разрешает ссылки относительно вашего basedir, если местоположение является относительным путем, и абсолютного пути, если вы вводите один из них. Если бы вы могли опубликовать части вашего файла Ant, в частности, как вы определяете appserver.home и как вы используете его в задаче, которая выдает ошибку, я мог бы быть более конкретным.

1 голос
/ 01 декабря 2010

В верхней части вашего build.xml попробуйте добавить <property environment="env"/> а затем с помощью ${env.USER_HOME} (или того, что у вас есть в вашей среде). Это сделало это для меня ($ {env.JAVA_HOME} вместо ${java.home}).

1 голос
/ 11 сентября 2008

В дополнение к выходу из разделителя каталогов Windows также убедитесь, что все пути, которые вы вводите, должны быть с правильной прописной буквой, Windows не чувствительна к регистру, но с сохранением регистра, а Ant чувствителен к регистру.

...