不就是没有ProductImpl_Stub, 看看rmic生成到哪里了.

解决方案 »

  1.   

    错误是没有找到你的存根类
    不过你上面的程序不用生成存根类的,只是个注册名字的程序,你单独运行他不会提示上面的错误的。
    你看的是java核心技术那本书吧,那本书我也有。上面提示的错误的方法是给你的ProcuctImpl用rmic生成存根类
      

  2.   

    当你编译你的程序后,要生成相应的stub和skel文件,这样才能实现远程的调用,在服务器的命令行中用下面的命令:
    rmic ProductServer    然后,要开始rmi服务。在服务器的命令行中运行start rmiregistry。    接下来才能进行开始java ProductServer
    注意:你的目录一定要对!否则会找不到那个stub和skel文件。万事OK!
      

  3.   

    感谢大家的回复,问题已得到解决,我对RMI还很陌生,所以提出笨问题大家请不要见怪.kesney(兔爷) 朋友给出了步骤,可是在执行 rmic ProductServer 时就出现了错误,提示说:
      error: Class ProductServer does not implement an interface that extends java.rmi.Remote; only remote objects need stubs and skeletons.  于是我试着执行 rmic ProductImpl 问题解决了.这里我还想问一下  frankie_jiu(肥嘟嘟) 朋友,你的记性真不错,我看的就是 Core Java Volume 2, 为什么书上说调用 ShowBindings 显示的输出应为 rmi:/toaster rmi:/microwave
    ,而我运行时显示的是 //:1099/toaster  //:1099/microwave .有什么不同之处吗?我将在这两天内结帖,希望大家能再给予一些帮助,我感觉 RMI 很难学,自己一个人看有太多不懂的地方啊.谢谢 kesney(兔爷) frankie_jiu(肥嘟嘟) 的帮助.  yefc(yefc) ,你的水平一定很高,能不能给一些详细的解释?
      

  4.   

    ^_^,我也是做毕设才刚学的rmi^_^
    1099是端口号