先试试不打包的.
错误是类没找到,看看你指定的codebase下是否有这个类
examples.callback.MessageReceiverImpl_Stub,存放的路径对不对?

解决方案 »

  1.   

    我的package是cacl,所有类文件都放在e:\cacl下,里面也有CaclImpl_Stub.class,及CaclImpl_Skel.class文件,运行上面的java -cp "e:\cacl.jar" -Djava.rmi.server.codebase=file:/e:\cacl/
    -Djava.security.policy=java.policy cacl.CalcServer就出现如上错误java.lang.ClassNotFoundException: cacl.CaclImpl_Stub
      

  2.   

    codebase 属性没有设置好,客户不能找到cacl.CaclImpl_Stub,你需要一个简单的http server 请您仔细看看:
    If you do start the rmiregistry and it can find your stub classes in CLASSPATH, it will not remember that the loaded stub class can be loaded from your server's code base, specified by the java.rmi.server.codebase property when you started up your server application. Therefore, the rmiregistry will not convey to clients the true code base associated with the stub class and, consequently, your clients will not be able to locate and to load the stub class or other server-side classes.运行时命令大概象这样子:
    java -Djava.rmi.server.codebase=file:/c:\home\ann\public_html\classes/
         -Djava.rmi.server.hostname=zaphod.east.sun.com
         -Djava.security.policy=java.policy
            engine.ComputeEngine跟
    java -Djava.rmi.server.codebase=file:/c:\home\jones\public_html\classes/
         -Djava.security.policy=java.policy
    client.ComputePi zaphod.east.sun.com 20更详细的:
    http://java.sun.com/docs/books/tutorial/rmi/running.html祝你好运
      

  3.   

    http://java.sun.com/docs/books/tutorial/rmi/running.html
    我已经看了好多次了,
    to cxj_2000(多多呢?多多呢?啊!!!¥%#%……※) 你说下面的设置错在哪里?
    我的package是cacl,所有类文件都放在e:\cacl下,里面也有CaclImpl_Stub.class,及CaclImpl_Skel.class文件,运行上面的java -cp "e:\cacl.jar" -Djava.rmi.server.codebase=file:/e:\cacl/
    -Djava.security.policy=java.policy cacl.CalcServer就出现如上错误java.lang.ClassNotFoundException: cacl.CaclImpl_Stub
      

  4.   

    你启动rmiregistry是不是在e:\cacl目录下,如果不是,应该找不到cacl.CaclImpl_Stub。
      

  5.   

    你这个包cacl.jar里面有CaclImpl_Stub.class 及CaclImpl_Skel.class 吗?有的话,你这样写启动命令:
    java -cp "e:\cacl.jar" -Djava.rmi.server.codebase=file:/pathto/cacl.jar 注意加上cacl.jar。
    最好用个http server 把cacl.jar加到发布路径里面启动的命令写成:java -cp "e:\cacl.jar" -Djava.rmi.server.codebase=http://servername/pathto/cacl.jar 试试看。我做这个的时候也碰到这样的问题,最后我就使用了http server 使用文件系统的极其容易出问题(莫名奇妙的问题)good luck我的qq:49074333
      

  6.   

    你的codebase是e:\cacl,
    因此你类如calc.CaclImpl_Stub,应这样存放
    e:\cacl\cacl\CaclImpl_Stub.class注意你的codebase目录应是类的根目录
      

  7.   

    to:Joeblackyang(野Heart)
    你的意思是说,rmiregistry一定要在你运行的目录中启动?