そこで、genady プラグインを使用して、Eclipse で単純な Java RMI アプリケーションを作成しました。この環境では問題なく動作しますが、Eclipse 以外でも実行できると便利です。
Eclipse で実行するには、まず RMI レジストリを起動します。次に、サーバーのスタブ作成を有効にします。次に、サーバーを RMI アプリケーションとして実行し、Eclipse に codebase パラメーターを自動的に生成させます。最後に、パラメーター セキュリティ ポリシーを追加して、クライアントを RMI アプリケーションとしても実行します (Eclipse に作成させてください)。
とてもシンプルです。
私のプロジェクト構造は次のとおりです。3 つの個別の Java プロジェクトがあります。
1) rmi 共通
2) rmi サーバー
3) rmi クライアント
サーバーとクライアントの両方が共通のプロジェクトに依存しています (ビルド パスにある)。
共通プロジェクトには、リモート インターフェイスの説明 (基本的には、クライアントがサーバーから呼び出すことができるメソッド) と、インターフェイス メソッドの 1 つのパラメーターとして使用されるクラスがあります。
サーバーは非常に単純です.. UnicastRemoteObject を拡張し、インターフェースを実装します。レジストリを取得して自分自身をバインドするだけです。
クライアントもそれほど複雑ではありません。セキュリティ マネージャ (新しい RMI セキュリティ マネージャ) を設定し、サーバーを検索します。また、ユーザー インターフェイス クラスもありますが、それはそれほど重要ではありません。
クライアントとサーバーから実行可能なjarファイルを作成する方法を知りたいです。理想的には、コマンド ラインからレジストリを起動し、次に CL からサーバーを起動し、最後にクライアントも同じ方法で起動したいと考えています。
何らかの理由で、Eclipse ではこれらのプロジェクトの実行可能 jar を生成できません。両方にメイン メソッドがあります。通常のjarを作成しようとしましたが、メインクラスが見つからないため機能しません。
コマンドラインから実行できるように、このプロジェクトをEclipseからエクスポートする方法を教えていただければ幸いです。