0

別のプロジェクトのクラスを使用しているRMIサーバーがあります。他のプロジェクトのjarファイルをRMIのライブラリとしてインポートしましたが、NetBeansで正常に動作します。netbeansによって生成された.jarからRMIサーバーを実行すると、classnotfoundexceptionインポートされたクラスを取得しています。

Any suggestions why it would be running inside netbeans, but the jar isn't working?

また、それが正しい選択であったかどうかはわかりませんが、他のプロジェクトが非常に小さいため、RMIで「使用済みの専用ライブラリフォルダ」をチェックしました。

また、リモートインターフェイスを使用できるように、他のプロジェクトにもサーバーをインポートしていることに注意してください(これは問題とは関係がないと思いますが)。

4

2 に答える 2

0

rmiサーバーを起動するときに、他のクラスのjarもクラスパスに入れますか?

コマンドプロンプトからjarを起動してみてください。

java -jar -classpath rmiserver.jar:lib/other.jar rmiserver.jar
于 2012-04-07T15:11:14.520 に答える
0

(Mavenプロジェクトではなく)標準のnetbeansプロジェクトを使用してプロジェクトをビルドした場合は、最終的なjarがビルドされるdistディレクトリの下にlibディレクトリが表示されます。Netbeansは、メインのjarファイルにマニフェストをビルドして、ビルドされたjarの場所に相対的なlibディレクトリ内の依存するjarを検索します。したがって、ビルドしたjarを1つのディレクトリに配置する場合は、libフォルダをそのディレクトリにコピーしてから、次のように起動します。

java -jar my.jar 

例えば

+ folder
|   my.jar
+-+ lib
  | other.jar
于 2012-04-07T15:23:31.827 に答える