2011-12-07 49 views
-1

我有什么做的,当我有这样的错误:错误,当我跑我的RMI项目

java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException

我加了仓的路径在JDK中的“我的电脑”的属性:这一个“ C:\ Program Files文件\的Java \ jdk1.6.0_19 \ BIN”

,我进入到运行CMD-

cd C:\Users\user\Documents\NetBeansProjects\CountRMI\src\countrmi 
start rmiregistry 

,我运行服务器,那么这个错误出现

java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException

感谢ü

回答

0

考虑看Cajo project。它包装RMI,因此您不必担心启动rmi注册表等。 从的Cajo wiki pages

Duck.java

public interface Duck { 
    boolean looks(); 
    boolean walks(); 
    boolean talks(); 
} 

DuckServer.java

import gnu.cajo.invoke.Remote; 
import gnu.cajo.utils.ItemServer; 

public class DuckServer implements Duck { 
    public boolean looks() { 
     System.out.println("hi there!"); 
     return true; 
    } 
    public boolean walks() { 
     System.out.println("waddle waddle"); 
     return true; 
    } 
    public boolean talks() { 
     System.out.println("quack quack!"); 
     return true; 
    } 
    public static void main(String args[]) throws Exception { // simple unit test 
     Remote.config(null, 1198, null, 0); // use cajo port 1198 
     ItemServer.bind(new DuckServer(), "Donald"); 
     System.out.println("duck server running"); 
    } 
} 

DuckClient.java

一个请参见下面的实施例0
0

时间已过,但也许这有助于某人。当你把

cd C:\Users\user\Documents\NetBeansProjects\CountRMI\src\countrmi 

你去路径设置为源文件,但是哟必须将它设置为类文件,这样

cd C:\Users\user\Documents\NetBeansProjects\CountRMI\build\classes 

,并开始rmiregistry,当然

至少,它对我来说工作得很好。

相关问题