背景
我最近使用了apache的ftp工具包,但是遇到了非常多的坑
<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency>
结论
先说结论,我最后才发现,只要把这个工具类的日志打开,很多问题就浮出水面了。因为FTPClient本身是没有日志的,里面连接错误,权限确实,读取失败他全部都不告诉你!!其实调试很多系统都是这样,
调试利器之一:打开FTPClient的日志
其实Apache Commons Net中的所有协议实现本身就有日志,但是他不输出,需要自己去配置
-
输出到控制台
相关连接:https://stackoverflow.com/questions/53426062/enable-logging-in-apache-commons-net-for-ftp-protocol
解决方法:
Apache Commons Net中的所有协议实现(包括
FTPClient
,派生自SocketClient
)都有一个方法addProtocolCommandListener
。您可以将其传递