我正在写与Java RMI客户端 - 服务器程序,我得到一个错误:Java RMI的java.security.AccessControlException:拒绝访问
java.security.AccessControlException: access denied ("java.net.SocketPermission" "127.0.0.1:1099" "connect,resolve")
我的代码如下所示:
package xxx;
import java.rmi.Naming;
import java.rmi.RemoteException;
public class Server extends Engine implements RemoteInterface {
public Server() {
super();
if(System.getSecurityManager() == null) {
System.setSecurityManager(new SecurityManager());
}
try {
Naming.rebind("Test", this);
System.out.println("Bound in registry!");
} catch(Exception ex) {
System.out.println(ex);
}
}
@Override
public void test() throws RemoteException {
System.out.println("test() invoked");
}
}
怎么了?
你也忘了其他几件事。这些遗漏都不会导致这个问题。 – EJP 2012-07-15 22:10:38
那么,那么你错了,因为添加这些修复问题。 – MikkoP 2012-07-16 09:27:11
唯一可以解决该问题的方法是删除SecurityManager或修复.policy文件。 – EJP 2012-07-17 10:57:48