【问题标题】:java.security.AccessControlException: access denied ("java.net.SocketPermission" "127.0.0.1:1099" "connect,resolve")java.security.AccessControlException:访问被拒绝(“java.net.SocketPermission”“127.0.0.1:1099”“connect,resolve”)
【发布时间】:2015-06-30 18:56:33
【问题描述】:

我在尝试运行服务器时收到此错误。我在 security.policy 中更新了我的策略。这是我的政策文件。

grant codeBase "file:C:/.../workspace/RMIServerSide/bin/" {
 permission java.security.Allpermission;
};

我的主要方法:

public static void main (String[] argv)throws RemoteException, MalformedURLException {
               try {

                   System.setSecurityManager(new RMISecurityManager());

                   Addition Hello = new Addition();     
                   Registry registry = LocateRegistry.createRegistry(1099);

                   Naming.rebind("localhost", Hello);

                   System.out.println("Addition Server is ready.");
                   }catch (Exception e) {
                       System.out.println("Addition Server failed: " + e);
                    }
               }

【问题讨论】:

    标签: java server rmi


    【解决方案1】:

    要么:

    1. "file:C:/.../workspace/RMIServerSide/bin/" 不是正确的代码库,或者
    2. 找不到您的 .policy 文件,您可以通过使用 -Djava.security.debug=access,failure 启动服务器 JVM 来查看。

    但是,除非您将 RMI 代码库功能与提供 .class 文件的客户端一起使用,否则您根本不需要服务器 JVM 中的安全管理器。只需将其删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2023-03-16
      • 1970-01-01
      • 2015-09-11
      • 2014-09-24
      • 2015-02-23
      • 1970-01-01
      相关资源
      最近更新 更多