Ответ 1
Измените его на
appserver.home="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0"
Я использую Windows, и я пытаюсь заставить ANT работать.
Когда я делаю сборку 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 файлах без повторного создания каталога с пробелом без пробелов?
Измените его на
appserver.home="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0"
Вариант с "/" вместо "\" работает в моей системе. Просто нужно удалить символы до и после структуры пути.
Похоже, что у вас неправильно настроены настройки.
Я предполагаю, что ваше свойство basedir указывает на C:\dev\Projects\springapp, и ваши свойства используют значение, подобное:
<property name="property.1" value="directory" />
вместо
<property name="property.1" location="directory" />
Используя свойство location, вы разрешаете ссылки относительно вашего объекта, если это относительный путь и абсолютный путь, если вы введете один из них. Если вы могли бы публиковать части своего файла Ant специально, как вы определяете apperver.home и как вы используете его в задаче, которая бросает ошибку, я мог бы быть более конкретным.
Найдите короткое имя Windows для этих каталогов с помощью dir /x
и используйте команду при настройке значений path
.
Еще несколько обсуждений на Как Windows определяет/обрабатывает короткое имя DOS для любого файла?
В дополнение к экранированию разделителя каталогов Windows также убедитесь, что все пути, которые вы вводите, должны иметь правильную заглавную букву, Windows не чувствительна к регистру, но создает регистр, а Ant чувствительна к регистру.
В верхней части вашего файла build.xml попробуйте добавить
<property environment="env"/>
и затем используя ${env.USER_HOME}
(или что-то еще, что у вас есть в вашей среде). Это сделало это для меня ($ {env.JAVA_HOME}, а не ${java.home}
).