我有一個從Ant exec任務調用的批處理腳本來編譯一些CSharp代碼。當任務在Ant中運行該批處理腳本以下面的方式爲什麼Ant Exec任務返回代碼與ERRORLEVEL值不匹配?
msbuild.exe %ARGS%
echo %ERRORLEVEL%
現在的結構,我得到以下結果:
[exec] Time Elapsed 00:00:09.48
[exec] 0
BUILD FAILED
C:\proj\build.xml:410: exec returned: 2
怎麼可能是%ERRORLEVEL%爲0,但Ant exec獲取2的返回碼?如果命令沒有返回代碼,這是否設置了一些默認的錯誤代碼?螞蟻文檔顯示:
error code 2 means 'no such program',
但很明顯,我的批處理文件正在正確執行。
更新使用Ant代碼
<target name="build.csharp" if="isWindowsPlatform">
<exec executable="cmd.exe" failOnError="true">
<arg value="/c"/>
<arg value="build.csharp.bat" />
</exec>
</target>
你能發佈一些或全部build.xml文件的?我有一個類似的問題,我試圖啓動exe的使用屬性,如 ,然後我只是把滿路徑直接進入exec命令,它打開了exe文件對我來說沒問題! –
Roger
2013-02-20 03:00:06
添加了我的螞蟻代碼 – cmcginty 2013-02-22 20:22:58