有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

RemoteException java。rmi。解组异常:解组返回时出错

我在不同物理机器上的两个JVM上运行程序here。我明白了

RemoteException
java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    java.lang.ClassNotFoundException: CalculatorImpl_Stub (no security manager: RMI class loader disabled)

我甚至试过在同一台机器上运行它(程序不变),它可以工作,但在不同的机器上不工作。有人能帮我吗

@beny23-谢谢,但我还是犯了这个错误:

RemoteException
java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
java.lang.ClassNotFoundException: CalculatorImpl_Stub

客户端如何获得CalculatorImpl_存根的副本


共 (2) 个答案

  1. # 1 楼答案

    有三种情况

    1. 如果绑定到注册表时出现错误,则注册表无法通过其类路径或通过codebase功能访问该类

    2. 如果在查找注册表时出现错误,则您的客户机无法通过其类路径或通过codebase功能访问该类

    3. 如果您使用的是codebase功能,那么这反过来可能是由于注册表在其类路径上拥有对该类的访问权限,这会导致它不使用codebase,这会导致codebase注释丢失,因此您的客户机不知道如何为该类使用codebase

    4. 如果没有使用代码库功能,请忽略上一段;-)

  2. # 2 楼答案

    我有这个问题,因为我在客户端和服务器代码中有不同的包名:

    package my.pkg; 
    // server side interface definition...
    
    // ------------- //
    
    package my.pkg.something;
    // client side interface definition...
    

    我更改了客户端包的名称,并将其设置为服务器端包的名称:

    package my.pkg; 
    // server side interface definition...
    
    // ------------- //
    
    package my.pkg; // renamed to the name of package in server-side .
    // client side interface definition...
    

    问题就消失了