Ant не может найти указанный путь

Я пытаюсь запустить файл .bat в сценарии Ant, который выглядит следующим образом:

<property name="winPath" value="C:\jboss-root\jboss-fuse-6.1.0.redhat-379\bin"/>
<property name="cmdPath" value="C:\Windows\System32\cmd.exe" />
<echo message="Windows: ${winPath} | ${cmdPath}" />       
<exec dir="${winPath}" executable="${cmdPath}">
    <arg value="/c"/><arg value="fuse.bat"/><arg value="-p"/> 
</exec>  

Вывод этого скрипта выглядит следующим образом:

[echo] Executing JBoss Fuse Start Script...
[echo] Windows: C:\jboss-root\jboss-fuse-6.1.0.redhat-379\bin | C:\Windows\System32\cmd.exe
[exec] The system cannot find the path specified.
[exec] Result: 3

Файл существует, и, запустив команду вручную в cmd, он отлично выполняет скрипт.

C:\jboss-root\jboss-fuse-6.1.0.redhat-379\bin>C:\Windows\System32\cmd.exe /c fuse.bat -p
Please wait while JBoss Fuse is loading...

Я пробовал заменить \ на /, но без изменений. В документации Ant говорится, что нужно либо помещать пути к файлам в PATH, либо использовать абсолютные пути к файлам. Однако я не могу изменить файлы PATH.


person Ben Harris    schedule 28.10.2014    source источник
comment
У меня была такая же ситуация. Затем я сначала затормозил команды в двух exec, чтобы перейти в каталог, который является командой cd, чем вы можете запустить команду, которую хотите выполнить.   -  person Nishant Modi    schedule 29.10.2014
comment
запустить ant с флагами -debug. Это сбросит фактические команды.   -  person Jayan    schedule 29.10.2014
comment
Попробуйте указать executable="cmd", а затем для поиска файла bat со значением arg используйте <arg value="${cmdPath}\fuse.bat"/>   -  person user3584056    schedule 29.10.2014


Ответы (1)


Это было вызвано тем, что у Ant не было правильного JAVA_HOME, и он указывал недопустимое местоположение для fuse.bat - ошибка в журнале на самом деле означает, что fuse.bat сообщает, что он не может найти java.exe.

person Ben Harris    schedule 05.11.2014