不是把 classpath 没有错阿 main()类都能找的到 就是和他在同一个目录下的FrameWorkImpl_Stub 找不到 怎么回事呢?? wwwwwwww

解决方案 »

  1.   

    main又不需要在classpath下面,但是你的引用类就需要在classpath下面,试试看
      

  2.   

    D:\JBuilder8\jdk1.4\bin\javaw -classpath "D:\房地产project\rmi框架结构\FrameWork\RmiServerFramework\classes;D:\JBuilder8\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;D:\JBuilder8\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;D:\JBuilder8\jdk1.4\jre\lib\charsets.jar;D:\JBuilder8\jdk1.4\jre\lib\ext\dnsns.jar;D:\JBuilder8\jdk1.4\jre\lib\ext\ldapsec.jar;D:\JBuilder8\jdk1.4\jre\lib\ext\localedata.jar;D:\JBuilder8\jdk1.4\jre\lib\ext\sunjce_provider.jar;D:\JBuilder8\jdk1.4\jre\lib\im\indicim.jar;D:\JBuilder8\jdk1.4\jre\lib\jaws.jar;D:\JBuilder8\jdk1.4\jre\lib\jce.jar;D:\JBuilder8\jdk1.4\jre\lib\jsse.jar;D:\JBuilder8\jdk1.4\jre\lib\rt.jar;D:\JBuilder8\jdk1.4\jre\lib\sunrsasign.jar;D:\JBuilder8\jdk1.4\lib\dt.jar;D:\JBuilder8\jdk1.4\lib\htmlconverter.jar;D:\JBuilder8\jdk1.4\lib\tools.jar"  -Djava.security.policy=D:\房地产project\rmi框架结构\FrameWork\RmiServerFramework\classes\rmiserverframework\policy.all rmiserverframework.FrameWorkServer 
    FrameWork Server initializingError: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
    java.lang.ClassNotFoundException: rmiserverframework.FrameWorkImpl_Stub
    我晕倒中 我把所有的类都放在和 main类在一起了 即-classpath 参数所标明的 D:\房地产project\rmi框架结构\FrameWork\RmiServerFramework\classes;
    我在线等待 我的估计是和codebase有关 可是既然我的 -stub.class文件在 classpath里头为什么就是找不到呢 奇怪 wwwwwwwwwwwww 快来救我  给我讲讲codebase吧 不是很了解 
      

  3.   

    我想还是你的目录放错了。
    你需要把stub类放在根目录的RmiServerFramework目录下(即package名字要作为目录名,并且直接放在根目录下),并注意大小写然后把C:\或者D:\作为classpath..
    如果还不行,我发一个RMI例子给你运行试试
      

  4.   

    codebase,看这里
    http://www.chinajavaworld.net/doc/rmi_iiop/1.html
      

  5.   

    你还真是,我遇到什么困难你就遇到什么困难,上回是安全问题(看来你是解决了)
    但是,我都已经解决了。让我来看看你的这个rmi问题吧。其实不完全是classpath的事,有两个办法。
    1如果rmiregistry在classpath环境变量里不能发现你的stub文件,在你运行server的时候加参数-Djava.rmi.server.codebase=file:///"你的classes的包的相应目录,用/分开",运行client的时候classpath要包括stub所在包的目录(是包而不是类的路径)
    2如果rmiregistry在classpath环境变量里能发现你的stub文件,在JBuilder的帮助里说,这样会在调用client时出现class not fund现象,但是我试了一下,好象没有这种情况。而且帮助里说client的classpath里本来就应该找不到stub,stub是在client调用rmi时自动从server下载的,方法也是加codebase属性。但是我试的结果是不行(还是失败),不知道为什么?
      

  6.   

    楼上的 那么你是怎么解决的阿 我早就try过 -Djava.rmi.server.codebase=file:///d:/fhsdjhfsdfsdflsdlfjsdklfjlsdjf
    以及
    -Djava.rmi.server.codebase=file:///d:\fhsdjhfsdfsdflsdlfjsdklfjlsdjf格式是不是上面这样的阿?? 不行啊现在还有一个问题 我觉得和这个有密切关系我用javac编译程序的时候会出现
    C:\Documents and Settings\huangwei>javac -classpath E:\java\rmi\FrameWork\Source
     -d E:\java\rmi\FrameWork\Source Client.DemoClient_1.java
    error: cannot read: Client.DemoClient_1.java
    1 error不管用javac 编译什么东西 都是这个错误  好气愤可是我查了一下 文件不是只读阿 我晕倒 
    再说了就算是只读 科问题她是can't read  如果javac can't read  
    那么当rmiregistry 在读 -Stub.class的时候 不也有可能 can't read 导致no found 与我联系  但是 我这里有一个别人编译好的的程序 可以用的  不知道怎么回事
      

  7.   

    好像javac 是可以的 但是要输入 绝对路径 我说明一下吧 大家来看对不对
    我的
    D:\房地产project\rmi框架结构\FrameWork\RmiServerFramework\src\rmiserverframework
    目录底下存放了  FrameWorkServer.java 文件
    而 FrameWorkServer.java 的第一行 写的就是 package rmiserverframework;
     而后我要编译这个文件 我输入 
    javac -classpath 
    D:\房地产project\rmi框架结构\FrameWork\RmiServerFramework\src\
    -d D:\房地产project\rmi框架结构\FrameWork\RmiServerFramework\src\
     rmiserverframework.FrameWorkServer.java  
    为什么她的错误是 error : cannot read  rmiserverframework.FrameWorkServer.java  不理解 哎 第一次用 文本编辑就成这样 
    可是JB里头 上面RMI的那个问题又是头痛的很 大家救我
      

  8.   

    都告诉你是放在根目录下面编译了
    package rmiserverframework;
    你就试着放在
    D:\rmiserverframework\FrameWorkServer.java 编译的时候用
    d:>javac rmiserverframework\*.java运行时
    d:>java rmiserverfamework.FrameWorkServer
      

  9.   

    我想不是classpath的事,是codebase的事,因为是你的rmiregistry找不到stub而不是你的main找不到,记得加codebase!