2010-07-12 46 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

相关问题