Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用<;传输文件;scp>;包含空格的Ant任务和用户名_Ant - Fatal编程技术网

无法使用<;传输文件;scp>;包含空格的Ant任务和用户名

无法使用<;传输文件;scp>;包含空格的Ant任务和用户名,ant,Ant,我正在使用以下带有用户名和IP地址的Ant脚本。我想传送一个文件。如果用户名中有空格,则文件不会传输 <project name="Hello World Project" default="info"> <property file="build.properties"/> <target name="info"> <scp file="/home/smith/Gjs/ws2/abc.txt" todir="Srupanan

我正在使用以下带有用户名和IP地址的Ant脚本。我想传送一个文件。如果用户名中有空格,则文件不会传输

<project name="Hello World Project" default="info">
  <property file="build.properties"/>
  <target name="info">
    <scp file="/home/smith/Gjs/ws2/abc.txt"
      todir="Srupanan k:rakesh@19.1.21.6:~/" trust="true"/>
  </target>
</project>


有没有办法将
与包含空格的用户名一起使用?

我检查了源代码,从我看到的情况来看,ant任务根本不介意空格,它只检查toDir中的:和@

它用来处理ssh连接的Jsch库中可能存在问题,尽管我怀疑它是否易于调试和修复。但是,您应该确保使用的是最新的ant安装

您还可以尝试使用ant任务的sftp标志,希望sftp实现能够更好地处理空间

如果全部失败,您仍然可以使用exec任务通过本机scp调用上载


祝你好运

你能试试下面的吗?将用户名括在单引号内,用一个反斜杠、两个反斜杠来转义空格?是这样的-'Srupanan\\k'。不是这样的:'Srupanan\k';空格是一个特殊字符,通过在它前面加一个\来转义,以使它失去它的特殊意义现在我得到的异常是com.jcraft.jsch.JSchException:java.net.ConnectException:Connection timed out。我的代码中有什么需要添加的吗?我不知道,它看起来不错,但我已经有一段时间没有使用ant了。您是否确保已从运行ant的计算机连接到19.1.21.6?如果这对你来说很容易,你能检查一下网络数据包,看看ant是否真的在寻找好的主机吗?