打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
FTPClient.listFiles() 放到linux上,返回值为null或数组长度为0

在项目中使用commons-net-1.4.1.jar实现FTP文件的下载,在windows xp上运行正常,但是放到linux上,却出现问题,程序运行到 FTPClient.listFiles()或者FTPClient.retrieveFile()方法时,就停止在那里,什么反应都没有,出现 假死状态。

google一把,发现很多人也出现了此类问题,最终在一个帖子里找到了解决办法。在调用这两个方法之前,调用 FTPClient.enterLocalPassiveMode();这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。为什么要这样做呢,因为ftp server可能每次开启不同的端口来传输数据,但是在linux上,由于安全限制,可能某些端口没有开启,所以就出现阻塞。OK,问题解决。


另外,如果程序部署在weblogic上, 也有可能出现一些问题,为什么,因为weblogic自己也有commons-net包,如果weblogic的jar包版本低于你使用的版本,就设置weblogic 的classpath,优先加载工程里的jar包。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
FTPclient上传ftp文件windows上可以,linux上不行
commons.net包中的FTPClient.listFiles()方法返回null的问...JAVA中使用FTPClient上传下载
linux下手动解压war包
DOS批处理下 操作telnet实现自动远程登录操作
宝塔Linux面板FTP无法连接的解决办法
myeclipse打war包
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服