我試圖讓Apache的FTPSClient實例運行(在這裏看到: https://svn.apache.org/repos/asf/commons/proper/net/tags/NET_2_2/src/main/java/examples/ftp/FTPSExample.java)NoSuchFieldError _hostname_ - FTPSClient與Java解釋器
在Eclipse中,這個例子的代碼工作正常,我可以在我的文件上傳到服務器。當我嘗試在Interprete中編譯我的代碼時,它也可以運行普通的java源代碼,它仍然有效。但是當我啓動我編譯的程序時,出現以下錯誤:
java.lang.NoSuchFieldError: _hostname_
org.apache.commons.net.ftp.FTPSClient.sslNegotiation(FTPSClient.java:266)
org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:226)
org.apache.commons.net.SocketClient.connect(SocketClient:163)
org.apache.commons.net.SocketClient.connect(SocketClient:250)
FTPSExample.doMyUpload(FTPSExample.java:93)
最後一個「句子」是我自己命名的方法。在第93行,我只是嘗試連接到服務器:
this.ftps.connect(this.server);
Eclipse和我的翻譯都採取在我的commons.net.jar被放置在相同的類路徑(3.6)。所以我真的不知道,爲什麼會出現這個錯誤。 如果你需要看完整課程,我可以在這裏發佈。但是我沒有改變Apache的原始示例。
謝謝你,路易斯
好的,那我該如何解決?在我的Classpath中只有最新的commons-net-3.6.jar。我重新編譯了一切,但錯誤仍然存在。 – louis12356
在WEB-INF/classes/org/apache/commons/net /中有'SocketClient.class'嗎?如果是,請將其備份(並刪除)到其他位置。如果不是,請嘗試替換從[官方網站](https://commons.apache.org/proper/commons-net/download_net.cgi)下載的jar文件。 –
所以,我做了你所說的,刪除並備份了SocketClient.class並重新編譯了我的FTP客戶端類和我的EBUS程序。當我啓動我的EBUS程序時,發生相同的錯誤。我現在能做什麼 ? – louis12356