gpt4 book ai didi

Java RMI - 套接字权限问题

转载 作者:行者123 更新时间:2023-11-30 09:56:30 25 4
gpt4 key购买 nike

我在尝试将我的 java 程序连接到 2 个不同的套接字时遇到问题。基本上我想初始化我的 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=path/to/policy/file...然后你的政策文件应该被阅读,一切都会好的:)

关于Java RMI - 套接字权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2329052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com