Я участвовал в проекте. В этом проекте используется муравей, который мне не нравится. Я проверил исходный код и попытался запустить ant в самой внешней директории.
Выполнение команды 'ant' в командной строке занимает 1 секунду, и я получаю сообщение BUILD SUCCESFULL. Если я запускаю 'ant all', я получаю
BUILD FAILED. Java.io.IOExceptio: Cannot run program "ant": CreateProcess=2, the system cannot find the file specified
и затем длинная трассировка стека.
Большинство людей в проекте используют OS-X, а я использую Windows XP.
Любая помощь или информация приветствуется:)
EDIT:
<target name="-all-submodules">
<subantlight target="all">
<filelist refid="ordered_build_files"/>
</subantlight>
</target>
В другом XML-файле
<macrodef name="subantlight">
<attribute name="target"/>
<element name="files" optional="no" implicit="true" description="Filessets/lists of build files"/>
<sequential>
<apply executable="ant" failonerror="true">
<arg value="-f"/>
<srcfile/>
<arg value="@{target}"/>
<files/>
</apply>
</sequential>
</macrodef>
Это то, что выдает IOException, когда оно попадает в строку с "apply executeable ..".
ОБНОВЛЕННОЕ РЕДАКТИРОВАНИЕ:
Если я установлю абсолютный путь, как это
<macrodef name="subantlight">
<attribute name="target"/>
<element name="files" optional="no" implicit="true" description="Filessets/lists of build files"/>
<sequential>
<apply executable="MyAbsolutePathHereToAnt.bat" failonerror="true">
<arg value="-f"/>
<srcfile/>
<arg value="@{target}"/>
<files/>
</apply>
</sequential>
</macrodef>
Все работает.
Я установил ANT_HOME для моего каталога ant. Я установил JAVA_HOME в каталог Java JDK. В моем PATH я установил% ANT_HOME% \ bin;% JAVA_HOME% \ bin
Вызов echo% ANT_HOME% приводит к правильному пути.
Я не вижу, что я здесь делаю не так.