0

我工作了一个简单的程序但是当您在命令中运行客户端时出现此错误

 HelloClient exception:  java.lang.UnsupportedOperationException: Not supported yet.

这是我的编码

接口类

    import java.rmi.*;

    public interface HelloInterface extends Remote { 

     public String say() throws RemoteException;


   }

实现类

           import java.rmi.RemoteException;
           import java.rmi.server.UnicastRemoteObject;

         /** 
           *
           * @author x
           */
   public class HelloServerImpl extends UnicastRemoteObject implements HelloInterface {

   private String message; 

   public HelloServerImpl(String msg)throws RemoteException{
   message = msg;
   }


@Override
public String say() throws RemoteException {
    throw new UnsupportedOperationException("Not supported yet.");
}




 }

服务器类

     import java.rmi.Naming;

       /**
        *
        * @author x
        */
       public class HelloServer {
        public static void main (String []args ){
          try {
        Naming.rebind("HELLOSERVER", new HelloServerImpl("Hello word"));
        System.out.println("Hello Server is ready.");
    } catch (Exception ex) {
        System.out.println("Hello server failed: "+ ex);
    }


    }
    }

客户端类

          import java.rmi.Naming;

         /**
          *
          * @author x
          */
             public class HelloClient {
          public static void main(String[]args){

        HelloInterface hello;
        String url = "rmi://localhost/HELLOSERVER";


         try {
        hello = (HelloInterface)Naming.lookup(url);
        System.out.println(hello.say());
    } catch (Exception ex) {
       System.err.println("HelloClient exception:  " + ex);
    }

    }
   }

我准备写步骤但仍然是同样的错误

为什么??

4

1 回答 1

2

好吧,你自己写了这个:

@Override
public String say() throws RemoteException {
    throw new UnsupportedOperationException("Not supported yet.");
}

当然会抛出异常。尝试实际返回一个字符串:

@Override
public String say() throws RemoteException {
    return "hello";
}
于 2012-05-07T17:32:01.050 回答