2014-10-28 90 views
3

我試圖運行Ant腳本.bat文件,這是如下:螞蟻找不到指定的路徑

<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文件。

+0

我遇到了同樣的情況,然後在兩個exec中先制動命令,然後轉到cd命令的dir命令,然後再運行要執行的命令 – 2014-10-29 04:53:19

+0

用-debug標誌運行ant。這將轉儲實際的命令。 – Jayan 2014-10-29 05:41:12

+0

通過指定'executable =「cmd」'來嘗試,然後使用'定位帶有參數值的bat文件' – user3584056 2014-10-29 13:47:37

回答

2

這是由於Ant沒有正確的JAVA_HOME,並且提供了fuse.bat的無效位置 - 日誌中的錯誤實際上是fuse.bat報告它找不到java。可執行程序。