RMI セキュリティ ポリシーを機能させるのに問題があります。サーバーとクライアントの両方に .policy ファイルがあり、それぞれが SecurityManager を実行しています。
クライアントを実行しようとすると、失敗します。私のポリシー ファイルはすべての atm を許可します。内容は次のとおりです。
grant { permission java.security.AllPermission };
JAR ファイルのルート ディレクトリに client.policy ファイルがあります (jar 外のポリシー ファイルでも実行してみました)。次に、これでクライアントを実行します。
java -jar PagePlanner.jar -Djava.security.policy=client.policy -Djava.rmi.codebase=http://192.168.0.88:2077/home/me/NetbeansProjects/PageServer/dist/PageServer.jar -Djava.security.debug=access
ポリシー ファイルとコード ベースへのパスを指定します。これらのいずれかが正しいかどうかはわかりません。また、どこかで読んだデバッグ スイッチを設定しようとしましたが、何が問題なのかについての追加情報が得られるはずですが、違いはないようです。クライアントを実行したときの出力は次のとおりです。
Exception in thread "main" java.security.AccessControlException: access denied (java.awt.AWTPermission setWindowAlwaysOnTop)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.awt.Window.setAlwaysOnTop(Window.java:2038)
at gui.LoginForm.<init>(LoginForm.java:59)
at main.Main.main(Main.java:21)
その時点から、クライアントはハングアップします。ここで私が間違っていることはありますか?サーバー側のポリシー設定はほとんど同じです。それが役立つ場合は、詳細を投稿できます。
乾杯。