首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RemoteException java.rmi.UnmarshalException:解组返回时出错

RemoteException java.rmi.UnmarshalException:解组返回时出错
EN

Stack Overflow用户
提问于 2011-09-09 06:48:50
回答 5查看 46.4K关注 0票数 13

我在不同的物理机上的两个JVM上运行程序here。我得到了错误

代码语言:javascript
复制
RemoteException
java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    java.lang.ClassNotFoundException: CalculatorImpl_Stub (no security manager: RMI class loader disabled)

我甚至尝试过在同一台机器上运行它(程序没有改变),但它在不同的机器上不起作用。有谁能帮帮我吗?

@beny23-谢谢,但我仍然会遇到这个错误:

代码语言:javascript
复制
RemoteException
java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
java.lang.ClassNotFoundException: CalculatorImpl_Stub

客户端怎么会有CalculatorImpl_stub的副本呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-09 07:00:19

听起来你没有使用安全管理器:

您是否有策略文件(my.policy):

代码语言:javascript
复制
grant {
  permission java.security.AllPermission;
};

并使用以下命令运行程序

代码语言:javascript
复制
java -Djava.security.manager -Djava.security.policy=/some/path/my.policy MyClass
票数 7
EN

Stack Overflow用户

发布于 2014-06-21 04:28:03

我遇到这个问题是因为我在客户端和服务器代码中使用了不同的包名:

代码语言:javascript
复制
package my.pkg; 
// server side interface definition...

// ------------- //

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

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

代码语言:javascript
复制
package my.pkg; 
// server side interface definition...

// ------------- //

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

然后问题就消失了。

票数 14
EN

Stack Overflow用户

发布于 2012-08-08 08:50:15

我的Java类有一个可以正常工作的RMI ClientServer。我决定将它们放入自己的包中,而不是作为默认包运行。

在我将它们放入自己的包中后,java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException:错误开始在连接时发生。

我把程序放回默认的包中,然后一切又开始工作了。

我意识到这可能有技术上的原因,但这对我来说很有效!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7355429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档