Я пытаюсь запустить файл .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.
executable="cmd"
, а затем для поиска файла bat со значением arg используйте<arg value="${cmdPath}\fuse.bat"/>
- person user3584056   schedule 29.10.2014