SFTP通过JSch抛出错误4:失败

时间:2014-11-13 07:57:48

标签: java sftp jsch winscp

我在尝试SFTP文件从Windows到Unix服务器时遇到了一个奇怪的问题。错误“堆栈跟踪”是 -

4: Failure
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
    at com.jcraft.jsch.ChannelSftp.checkStatus(ChannelSftp.java:2459)
    at com.jcraft.jsch.ChannelSftp._sendCLOSE(ChannelSftp.java:2465)
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:683)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:475)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:365)

我在其他论坛上搜索了很多,但无法找到根本原因。我还观察了一件事 - 文件名,我正在尝试使用SFTP,当我将其更改为* .XML时,它是* .xml,SFTP是“成功的”。非常奇怪无法确定问题。我正在尝试使用JSch Java API。但我在尝试WinSCP前端时遇到了同样的问题。

5 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

我面临着同样的问题。感到困惑,然后我意识到服务器文件夹上存在空间问题。请检查服务器可用空间。

命令:文件夹的df路径

答案 2 :(得分:0)

我遇到了同样的问题。请确保您的SFTP服务正在运行。如果它已经在运行,那么重新启动此服务应该可以解决问题。

答案 3 :(得分:0)

我有同样的问题。尝试了一切,结果我将超时设置为我认为的30s,但实际上是30ms。将其更改为30000ms解决了该问题。

session.setTimeout(30000);

答案 4 :(得分:0)

我已经看到此错误,而我的原因是,SFTP服务器使用的文件系统不支持上载的文件名。