私は、ApacheからFTPSClient例が稼働して取得しようとしていますとFTPSClientのJava(ここを参照してください: https://svn.apache.org/repos/asf/commons/proper/net/tags/NET_2_2/src/main/java/examples/ftp/FTPSExample.java)EclipseでNoSuchFieldErrorの_hostname_ - 通訳
は、この例のコードは正常に動作し、私は、サーバーに自分のファイルをアップロードすることができます。 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)
最後の "sentence"は、自分の名前付きメソッドを持つクラスです。行93で、私はちょうどサーバーに接続しよう:
this.ftps.connect(this.server);
Eclipseと私の通訳は両方(3.6)私のcommons.net.jarが配置されているのと同じクラスパスを取っています。だから私は本当になぜこのエラーが表示されるのかわかりません。 フルクラスを見る必要がある場合は、ここに投稿できます。しかし、元のApacheの例は変更しませんでした。
はルイ
さて、どうすれば修正できますか?私のクラスパスには最新のコモンズ - net-3.6.jarしかありません。私はすべてを再コンパイルしましたが、エラーはまだ残っています。 – louis12356
'WEB-INF/classes/org/apache/commons/net /'に 'SocketClient.class'がありますか?はいの場合は、別の場所にバックアップ(&削除)してください。いいえの場合は、[official site](https://commons.apache.org/proper/commons-net/download_net.cgi)からダウンロードしたjarファイルを置き換えてください。 –
だから、あなたが言ったことは、SocketClient.classを削除してバックアップし、FTPクライアントクラスとEBUSプログラムを再コンパイルしました。 EBUSプログラムを起動すると、同じエラーが発生します。私は今何をすることができますか? – louis12356