当前位置:  技术问答>java相关

小弟最近在学习远程方法调用(rmi),从网上搞了个简单例子,但就是调试不通,请大家看看,谢谢!

    来源: 互联网  发布时间:2017-05-03

    本文导语:  测试环境win2000 Professional,jdk1.4 目前的情况是 在我机器上的D:jakarta-tomcat-4.0.4webappsexamplesWEB-INFclassesrmi目录下已经存在 AddServer.java,AddServerImpl.java,RmiClient.java,RmiServer.java 在D:jakarta-tomcat-4.0.4webappsexamplesWEB-INFclasses目录下我...

测试环境win2000 Professional,jdk1.4
目前的情况是
在我机器上的D:jakarta-tomcat-4.0.4webappsexamplesWEB-INFclassesrmi目录下已经存在
AddServer.java,AddServerImpl.java,RmiClient.java,RmiServer.java
在D:jakarta-tomcat-4.0.4webappsexamplesWEB-INFclasses目录下我运行
javac rmi*.java
rmic rmi.AddServerImpl
在D:jakarta-tomcat-4.0.4webappsexamplesWEB-INFclassesrmi下获得
AddServer.class,AddServerImpl.class,AddServerImpl_Skel.class,AddServerImpl_Stub.class,RmiClient.class,RmiServer.class
然后运行start rmiregistry弹出dos窗口显示
security properties not found. using defaults.
然后我运行
D:jakarta-tomcat-4.0.4webappsexamplesWEB-INFclasses>java rmi.RmiServer
结果如下:
Exception in thread "main" java.rmi.ServerException: Server RemoteException; nes
ted exception is:
        java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
        java.lang.ClassNotFoundException: rmi.AddServerImpl_Stub
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Stream
RemoteCall.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.rebind(Unknown Source)
        at java.rmi.Naming.rebind(Naming.java:159)
        at rmi.RmiServer.main(RmiServer.java:8)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested ex
ception is:
        java.lang.ClassNotFoundException: rmi.AddServerImpl_Stub
Caused by: java.lang.ClassNotFoundException: rmi.AddServerImpl_Stub
==========
package rmi;
import java.rmi.*;

public interface AddServer extends Remote {
public int AddNumbers(int firstnumber,int secondnumber) throws RemoteException;
}
===========
package rmi;
import java.rmi.*;
import java.rmi.server.*;
public class AddServerImpl extends UnicastRemoteObject implements AddServer
{
public AddServerImpl() throws RemoteException
{
super();
}
public int AddNumbers(int firstnumber,int secondnumber) throws RemoteException
{
return firstnumber + secondnumber;
}
}
==============
package rmi;
import java.rmi.*;
import java.net.*;

public class RmiClient {
public static void main(String args[]) throws RemoteException, MalformedURLException ,NotBoundException{
     String url="rmi://127.0.0.1/addnumbers";
     AddServer add;
     add = (AddServer)Naming.lookup(url);
     int result = add.AddNumbers(10,5);
     System.out.println(result);
}
}
===================
package rmi;
import java.rmi.*;
import java.net.*;
public class RmiServer {
public static void main (String args[]) throws RemoteException, MalformedURLException
{
AddServerImpl add = new AddServerImpl();
Naming.rebind("addnumbers",add);
}
}
==============

|
如果还有问题,,你分开执行

runreg.bat:启动rmiregistry,并且打开runreg-secu.bat(runreg-secu.bat不用另行打开

runreg-secu:在服务器端绑定engine.ComputeEngine(如果runreg.bat没有执行,则此命令无法执行成功)


test.bat:测试RMI是否布置成功,可以打开修改参数

|
java.lang.ClassNotFoundException: rmi.AddServerImpl_Stub
这个是关键。检查生成的存根文件路径。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 大哥们,小弟我准备学JAVA了给推荐几本好书吧!小弟不胜感激啊!
  • 小弟问个问题,JDK哪有下载啊!小弟不胜感激啊!
  • linux高人!!!帮帮小弟啊,小弟是菜鸟
  • 哥们,谁有Jbuilder 4的注册码,给小弟解围,小弟谢先!!!
  • 小弟考试在即!望大哥们帮忙!!!跪求!!!
  • 哪位大哥给小弟一个squirrelmail的安装教程
  • 各位网络编程的大侠,帮帮小弟
  • OpenSSL安装过程中遇到的问题,希望大哥们帮帮小弟
  • 请各位大虾给小弟推荐几本好书
  • 小弟想在linux下访问windows 和usb的文件系统
  • 请问JBulider 4的序列号谁知到?能否提供给小弟?谢谢
  • 各位兄弟 谁有 powerZip 5.21 的注册码,小弟不胜感激!!
  • 小弟想用java做个sygate
  • 求教:文件打包移植错误发生排序错误,小弟努力送分送分啦!59~~~
  • 小弟急需要知道程序员查分网站。多谢!!!
  • php iis7站长之家
  • 小弟高分求“Linux 0.02版”的源代码!
  • 小弟是初学者,请推荐几本不错的unix书籍。
  • 小弟想学linux,推荐几本好书,有电子版下载的最好.
  • ★★★那位仁兄有Apache的源代码?小弟急用!多谢!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3