无法使用<;传输文件;scp>;包含空格的Ant任务和用户名
我正在使用以下带有用户名和IP地址的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
<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是否真的在寻找好的主机吗?