質問

私は2つの異なるソケットに私のJavaプログラムを接続しようとする問題を抱えています。基本的に私は私のRMIサーバー(ポート1099に接続している)と、初期化したい、ポート10002初期化は、両方の作業罰金に見えますが、できるだけ早く私は、私は次のエラーを取得するprologBeansにアクセスしようとしてもオン初期化PrologBeans:

Exception in thread "main" java.security.AccessControlException: access denied 

    (java.net.SocketPermission 127.0.0.1:10002 connect,resolve)
 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.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
 at java.net.Socket.connect(Socket.java:519)
 at java.net.Socket.connect(Socket.java:475)
 at java.net.Socket.<init>(Socket.java:372)
 at java.net.Socket.<init>(Socket.java:186)
 at se.sics.prologbeans.PrologSession.connectToServer(PrologSession.java:511)
 at se.sics.prologbeans.PrologSession.initSend(PrologSession.java:442)
 at se.sics.prologbeans.PrologSession.send(PrologSession.java:368)
 at se.sics.prologbeans.PrologSession.executeQuery(PrologSession.java:331)
 at api.ActionRetriever.logEvent(ActionRetriever.java:68)
 at contract.ContractManager.log_event(ContractManager.java:87)
 at gui.RMITrial.main(RMITrial.java:39)

:に設定されている

私はまた、ポリシーファイルを持っている(私のRMIコードがパッケージにはポリシーファイルを配置するには、このとしても、正しい場所であるか、それがデフォルトのパッケージにする必要があります。?)、

grant {
permission java.security.AllPermission;};

誰もが私がのSocketPermissionエラーを取得していますなぜ上の任意のアイデアを持っている場合、私は不思議でしたか?私の許可設定が間違っていますか?

すべてのヘルプははるかに高く評価されるだろう。

ありがとう。

役に立ちましたか?

解決

あなたはVM引数に-Djava.security.policy =パス/に/ポリシー/ファイルをインクルードする必要があります... その後、自分のポリシーファイルが読まれるべきであると、すべてがうまくしなければならない:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top