Java RMI访问一直被拒绝错误

Java RMI访问一直被拒绝错误,java,rmi,Java,Rmi,创建RMIserver类时遇到问题,因为我一直遇到以下错误:拒绝访问(java.net.SocketPermission 127.0.0.1:1099 connect,resolve) 现在我在谷歌上看到了一些关于删除新政策文件的信息,但我真的不知道该怎么做,请有人帮我一下好吗 这是我的服务器代码: import java.rmi.Naming; import java.rmi.RemoteException; import java.rmi.RMISecurityManager; import

创建RMIserver类时遇到问题,因为我一直遇到以下错误:拒绝访问(java.net.SocketPermission 127.0.0.1:1099 connect,resolve)

现在我在谷歌上看到了一些关于删除新政策文件的信息,但我真的不知道该怎么做,请有人帮我一下好吗

这是我的服务器代码:

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.registry.*; 
import java.security.Permission;
import java.security.Security;

public class RmiServer extends UnicastRemoteObject 
    implements RmiServerIntf 
    {
    public static final String MESSAGE = "Hello world";

    public RmiServer() throws RemoteException
    {
    }

    public String getMessage()
    {
        return MESSAGE;
    }


    public static void main(String args[])
    {
        System.out.println("RMI server started");

        // Create and install a security manager
        if (System.getSecurityManager() == null)
        {
            System.setSecurityManager(new RMISecurityManager());
            System.out.println("Security manager installed.");
        }
        else
        {
            System.out.println("Security manager already exists.");
        }

        try
        { //special exception handler for registry creation
            LocateRegistry.createRegistry(1099); 
            System.out.println("java RMI registry created.");
        } 
        catch (RemoteException e)
        {
            //do nothing, error means registry already exists
            System.out.println("java RMI registry already exists.");
        }

        try 
        {
            //Instantiate RmiServer
            RmiServer obj = new RmiServer();


            // Bind this object instance to the name "RmiServer"
            Naming.rebind("//localhost/RmiServer", obj);

            System.out.println("PeerServer bound in registry");
        } 
        catch (Exception e) 
        {
            System.err.println("RMI server exception:" + e);
            e.printStackTrace();
        }
    }

}    

您正在使用SecurityManager(为什么?)。您根本不需要SecurityManager,除非您计划使用RMI代码库功能:是吗?

您确实需要阅读RMI手册,以及如何创建策略文件:


我正在用RMI用JAVA编写一个计算器。这段代码只是为了检查我的服务器是否正常工作,你认为我应该如何修复它?(我的计算器代码已经准备好了,我只需要使用RMI就可以了)@user1364528我的答案中肯定隐含了如何修复它?删除SecurityManager或将该权限添加到.policy文件中。