2009-05-22 129 views
7

我在我的Ant腳本中有以下片段。它執行得很好:執行與螞蟻工作絕對路徑,但不是相對路徑

<exec executable="C:\test\foo\programName.exe" /> 

但後來當我試圖通過設置目錄,像這樣來執行它:

<exec executable="programName.exe" 
    dir="C:\test\foo\" /> 

我得到:

執行失敗:java.io .IOException: 無法運行程序「programName.exe」 (在目錄「C:\ test \ foo」中): CreateProcess error = 2,系統 找不到指定的文件ied

請幫忙!爲什麼單獨指定目錄時不工作?

+0

'C:\測試\富' 是不是相對路徑。您可能需要更正問題。 – Gleb 2009-05-22 21:58:40

回答

2

我結束了與此堅持:

<exec executable="${basedir}\myexefile.exe}" /> 
1

試試這個:

<property name="prog.dir" value="C:/test/foo" /> 
<exec executable="${prog.dir}/programName.exe"/> 

看來,從您執行程序的目錄必須是在你的構建路徑。

4

添加resolveexecutable屬性:

<exec executable="programName.exe" 
    resolveexecutable="true" 
    dir="C:\test\foo\" /> 

resolveexecutable當此 屬性爲true,則 可執行文件的名稱首先對 項目BASEDIR解決,如果這樣做 不如果指定,則執行 目錄。在Unix 系統上,如果您只想允許 執行用戶的 路徑中的命令,請將其設置爲false。因爲螞蟻1.6 沒有,默認爲false