2010-07-12 81 views
2

我試圖使用ANT將文件從一個目錄複製到另一個目錄在Linux上的目錄。ANT執行失敗:java.io.IOException:無法運行程序「cp」:java.io.IOException:error = 2,沒有這樣的文件或目錄

首先我使用了複製任務,它工作正常但文件模式不被保留。 然後我改用了,這就是我卡住的地方。

我的目標是這樣的:

<target name="test"> 
    <echo message="${basedir}"/> 
    <exec executable="cp " os="Linux" spawn="yes"> 
     <arg line="-p"/> 
     <arg line="/tmp/jmap.dat"/> 
     <arg line="/tmp/jmap.dat1"/> 
    </exec> 
</target> 

我得到的輸出是: 測試: [回波] /用戶/ BPEL/MYWORK /項目/ BPEL-PSR/utils的

/utils/build.xml:38:執行失敗: java.io.IOException:無法運行 程序「cp」:java.io.IOException: 錯誤= 2,沒有這樣的文件或目錄

我也試過類似:

<exec executable="cp -p /tmp/jmap.dat /tmp/jmap.dat1"/> 

,它也不管用,似乎找不到cp命令,但是如果我手動運行cp -p /tmp/jmap.dat /tmp/jmap.dat1,它只是正常工作。

我一直在搜索,發現沒有幫助。

similiar question on stackoverflow沒有解決我的問題:

回答

3

你有cp命令後一個空格:

<exec executable="cp " os="Linux" spawn="yes"> 

這是告訴它運行一個命令調用"cp "(用空格)。這是由錯誤消息證實:

不能運行程序"cp "

其實,答案就在問題:)

的主題乘坐空間出來,它應該很好:

<exec executable="cp" os="Linux" spawn="yes"> 
+0

感謝您指出這一點。 – 2010-07-13 00:06:11

相關問題