ファイルをパッケージにまとめる前に、このプログラムはうまくいきました。次のように私が取得エラーメッセージは次のとおりです。Java RMIアプリケーション。 "_スタブをキャストできません"エラー
にClassCastException:a3.seneca.RemoteMethod_Stubはa3.seneca.RemoteMethod にキャストすることはできません(行35)
次のように私のパッケージ構造がある(キャップがディレクトリを意味します):
-A3
--server
---- DataAccessServer
--SEN ECA
---- RemoteMethodInterface
---- RemoteMethod
--CLIENT
---- DataAccessClient
エラーメッセージがこれで参照している行:
RemoteMethod rmHandler = (RemoteMethod) Naming.lookup("rmi://localhost:666/location");
DataAccessServerでは、あらかじめS:
RemoteMethod rm = new RemoteMethod();
Naming.rebind("rmi://localhost:666/location", rm);
次のように実行する手順は、次のとおりです。
コンソールウィンドウ#1: のrmiregistry 666
コンソールウィンドウ#2: のjava A3 \セネカ* .javaファイル
をjava a3 \ server * .java
java a3 \ client * .java
JavaはRemoteMethod_stub.classはセネカのディレクトリに置かれa3.client.DataAccessClient
:DataAccessServer
コンソールウィンドウ#
にrmic -v1.2 a3.seneca.RemoteMethod
のjava 。私はまたそれが作成された後にクライアントディレクトリにコピーしようとしました。なぜこれが起こっているのかについての洞察は非常に高く評価されます。
-Dan
訂正:javac ... * .java NOT java – Dan