I am new to RMI topic in java and i wana to create client server applicaiton using RMI,
i followed this tutorial found in this link : RMI Tutorial using eclipse
but i am using netbeans ,and here is server code:
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.*;
public class AdditionServer {
public static void main (String[] argv) {
try {
if (System.getSecurityManager() == null)
{
System.setSecurityManager(new SecurityManager());
}
String policy="file:/home/user/NetBeansProjects/RMIServerSide/security.policy";
System.setProperty("java.security.policy",policy);
Addition Hello = new Addition();
System.out.println("test\n");
Registry reg=LocateRegistry.createRegistry(1099);
reg.rebind("rmi://localhost/ABC", Hello);
System.out.println("Addition Server is ready.");
}catch (Exception e) {
System.out.println("Addition Server failed: " + e);
}
}
}
and here security.policy :
grant codeBase "/home/user/NetBeansProjects/RMIServerSide/build/classes/" {
permission java.security.AllPermission;
};
then i run the rmiregistry & in the terminal.
then i run the server and here what is the output exactly :
Addition Server failed: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.security.policy" "write")
Is there something i miss it, like a config for vm or something ???.....
解决方案
I had the same problem. I have fixed it following these steps:
I have created a policy file, I named it security.policy
with the following content
grant {
// Allow everything for now
permission java.security.AllPermission;
};
2- Add the following line of code just before binding the remote object to the rmiregistry.
System.setProperty("java.security.policy","file:./security.policy");
博主在使用Java RMI创建客户端 - 服务器应用时,使用NetBeans遇到安全策略问题,运行服务器时出现访问控制异常。给出的解决方案是创建一个包含所有权限的策略文件,并在绑定远程对象到rmiregistry前设置安全策略属性。
848

被折叠的 条评论
为什么被折叠?



