一个Java RMI 程序    在ECLIPSE上运行没问题    打包之后,总是连不上服务器。为什么?

解决方案 »

  1.   

    老兄,Java RMI 低层开发啊,能不能把源码发给我,谢了。
      

  2.   

    代码:还有一些接口  没有贴上来:
    try {
           ConsumerBean cb=new ConsumerBeanImpl();
           AccountBean ab=new AccountBeanImpl();
           AccountInfo ai=new AccountInfoImpl();
           RegistryDao rd=new RegistryDaoImpl();
           LoanBean lb=new LoanBeanImpl();
           LoanInfo li=new LoanInfoImpl();
           ManagerBean mb=new ManagerBeanImpl();
           Manager man=new ManagerImpl();
           BankBean bb=new BankBeanImpl();
           BankDao bd=new BankDaoImpl();
           String a = jTextField1.getText();
           int b = Integer.parseInt(a);
           register=LocateRegistry.createRegistry(b);
    //       System.setProperty("java.rmi.server.hostname","127.0.0.1");
           Naming.rebind("ConsumerBean", cb);
           Naming.rebind("AccountBean", ab);
           Naming.rebind("AccountInfo", ai);
           Naming.rebind("RegistryDao", rd);
           Naming.rebind("LoanBean", lb);
           Naming.rebind("LoanInfo", li);
           Naming.rebind("ManagerBean", mb);
           Naming.rebind("Manager", man);
           Naming.rebind("BankDao", bd);
           Naming.rebind("BankBean", bb);
           System.out.println("服务器启动了");
    jButton1.setEnabled(true);
            jButton.setEnabled(false);
            bStart = true;
            jTextField1.setEditable(false);
              jTextField.setText("服务已启动");
              dlm.addElement(" 服务开始时间:" + (new Date()).toLocaleString() + "\n");
    } catch (IOException e) {
    System.out.println("启动服务器出错");
    e.printStackTrace();
    }
          }
      

  3.   

    在ECLIPSE 上不会报错。打包后,运行没什么反应!没看到抱什么错啊
      

  4.   

    服务已启动  那个文字打印出来了吗?
    你连rmi是在本机上连得还是其他机器?以及你lookup用的uri是什么样的
      

  5.   

    如果用ECLIPSE运行。其他的电脑也能连上我电脑上的服务器。(改一下URL)但是打包之后,在本机上就不能运行了。   为什么?
      

  6.   

    连不上也应该会报一个错误RemoteException你的错误stacktrace是什么样的?
    代码里有没有catch块为空的情况?
      

  7.   

    没反应。客户端我捕获了异常。一个EXCEPTION
      

  8.   

    怎么配啊?是那个propert文件吗?还是那个
    报错的代码是access denied(java.net.SocketPermission 127.0.0.1 connection,resolve)
      

  9.   

    配置个策略文件试试grant{   
        permission   java.security.AllPermission;   
     }; 将这段内容存到一个文件,就命名为policy吧
    通过以下命令启动服务
    java -Djava.security.manager  -Djava.security.policy=policy 服务类名称
      

  10.   

    access denied(java.SocketPermission 127.0.0.1:1099 connect,resolve)