ServiceMix-FTP 在4.3中的问题解决方案
引用自http://blog.163.com/java_star/blog/static/1177148052011326103323311/。打开这个网页很慢,直接将内容复制于此:
使用FTP组件时,总是提示:java.util.NoSuchElementException: Could not create a validated object, cause: org.apache.commons.net.ftp.FTPClient.setReaderThread,无法启动程序。
经检查是由于features中描述错误,原来应该是依赖org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-net/1.4.1_4的,但是却被写成了commons-net/commons-net/2.2,在commons-net-2.2中,FTPClient没有继承TelnetClient,没有setReaderThread方法,所以出现如前文所示的错误信息。
修改apache-servicemix-4.3.0/system/org/apache/servicemix/apache-servicemix/4.3.0/apache-servicemix-4.3.0-features.xml文件,把commons-net改成org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-net/1.4.1_4,并将ServiceMix data目录下所有文件和子目录清除。即可正常使用。
实际上,在servicemix-ftp组件的pom.xml文件中,描述的也不是前者,不知道为何到了features里面却变成了2.2版本的,笔误?