我在尝试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前端时遇到了同样的问题。
答案 0 :(得分:6)
您必须检查SFTP服务器日志以查找更多内容。
答案 1 :(得分:1)
我面临着同样的问题。感到困惑,然后我意识到服务器文件夹上存在空间问题。请检查服务器可用空间。
命令:文件夹的df路径
答案 2 :(得分:0)
我遇到了同样的问题。请确保您的SFTP服务正在运行。如果它已经在运行,那么重新启动此服务应该可以解决问题。
答案 3 :(得分:0)
我有同样的问题。尝试了一切,结果我将超时设置为我认为的30s,但实际上是30ms。将其更改为30000ms解决了该问题。
session.setTimeout(30000);
答案 4 :(得分:0)
我已经看到此错误,而我的原因是,SFTP服务器使用的文件系统不支持上载的文件名。