java连接sftp遇到的坑
目录
java连接sftp遇到的坑
java连接sftp用到的jar包,一般都是选jsch,最近有个项目需要用到这个,于是把之前有相同功能的模块移植过来,
但在连接sftp的时候一直报以下异常
com.jcraft.jsch.JSchException:Session.connect:java.io.IOException:End of IO Stream Read
百度了一个下午, 要么说是java版本问题,要么就是jsch,来回折腾了很久,问题还是在,总之就是在以下2个异常之间徘徊
com.jcraft.jsch.JSchException:Session.connect:java.io.IOException:End of IO Stream Read
com.jcraft.jsch.JSchException:Algorithm negotiation fail
后来实在没办法了,静下心来,仔细看了报的异常日志,里面有句话让我注意到了
SLF4J:Class path contains multiple SLF4J bindings.
也就是说 SLF4J这个包被重复引用了,于是我找到pom文件,把重复的依赖注释掉了。果然运行程序一切正常,可以访问sftp了。
以后调查问题的时候不要只把焦点放在异常本身,很有可能是其他的问题导致了这个异常,需要仔细的查看日志来发现蛛丝马迹。