对不起出错信息贴错了应该是:
java.rmi.NotBoundException: hello
at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:106)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:342)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:350)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at rmitest.Helloworld.main(Helloworld.java:11)

解决方案 »

  1.   

    在wizards里选Extenal Build Task,建rmic的pre-compile命令;
    然后在runtime configuration里对服务器端的class建rmic命令的config;
    修改JB自带JDK里的java.policy文件:
    添加grand{permission java.security.Allpermission;};;
    在tool里点击RMIregistry启动注册表;
    运行:
    1--〉rmic的congfig
    2-->客户端class的config
      

  2.   

    rmic的pre-compile命令;这句没看懂
      

  3.   

    你的registry服务开了没啊
    在命令行下输入start rmiregistry 1099启动1099端口
      

  4.   

    registry服务当然开了,我是在jb9中调试的,先在tools里面把rmiregistry打开,然后先在server端的,再开client端的对吗
      

  5.   

    改了啊,改为:grant
    {
    permission java.net.SocketPermission"*:1024-65535",
    "listen,accept,connect";
    };
      

  6.   

    hello绑定了 String name = "//localhost/hello";
           RLoginObject hello = new RLoginObject(this);
             Naming.rebind(name, hello);