我遇到了一个问题,ant scp 任务在文件集复制期间挂起。任务是:
<scp file="${usr}:${pwd}@${hst}:${dir}/*" todir="${to}" trust="true"/>
它成功复制了许多文件,然后挂起。
请注意,它复制的主机是 localhost,但这应该没有区别。
我还使用相同的 ant 脚本将文件从同一台 Linux 主机复制到 Windows 计算机,并且没有任何问题。
谷歌搜索显示,2007年左右曾出现过类似问题,http://www.symphonious.net/2007/10/23/ant-scpssh-task-hangs-or-never-disconnects/ ,但是他们提供的升级到最新版本的ant(或降级jsch)的解决方案并不能解决我的问题。 (https://issues.apache.org/bugzilla/show_bug.cgi?id=41090中也提到了这个缺陷)
我使用过 ANT 1.8.2、ANT 1.7.1 和 ANT 1.6.5,它们都有这个问题。 我使用的是 jsch 0.1.44,但即使使用更高版本的 jsch,我也会遇到这个问题。
有什么想法吗?
最佳答案
找到了解决我的问题的解决方法。这是使用 scp 任务的 sftp="true"属性,如下所示:
<scp file="${usr}:${pwd}@${hst}:${dir}/*" todir="${to}" trust="true" sftp="true"/>
关于linux - ant scp 任务在 Linux 上挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6895547/