收录日期:2018/09/20 15:52:08 时间:2016/05/18 03:14:45 标签:Java SE
我用的是jb8.0,编译运行core java2的例子,总出现java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.lang.ClassNotFoundException: rmidemo.ProductImpl_Stub
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:352)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.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:160)
at rmidemo.ProductServer.main(ProductServer.java:23)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.lang.ClassNotFoundException: rmidemo.ProductImpl_Stub
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:342)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.lang.ClassNotFoundException: rmidemo.ProductImpl_Stub
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:217)
at sun.rmi.server.LoaderHandler.loadClass。。。。
就是找不到存根文件,读了几篇老大的帖子,还有一些不太明白,
该程序在cmd模式下运行,没有错误,但是在jb8中,总是出现错误,我的jb用的不好.麻烦哪位高手能详细的说一说jb的配置(比如说codebase,classpath 在哪里设置)编译,执行过程,小弟谢了~~~~~~
http://expert.csdn.net/Expert/topic/1753/1753779.xml?temp=.1050074
你要对需要生成存根的类,右键点击,选用rmi编译,然后rebuild就好了
简单的办法:在系统的classpath路径把你存根的路径加进去就行了。
电脑->右键属性->系统环境变量->classpath
如果你能在cmd下运行了,存根类应该已经正确生成了吧,classpath应该是对的才可以生成的
mark
存根类我之前已经rmic模式编译了。。
需要在run里加设置。。我搞定了。。谢谢各位老大的指导,结铁