gpt4 book ai didi

java - 简单的 RMI 应用程序

转载 作者:行者123 更新时间:2023-12-02 08:10:18 25 4
gpt4 key购买 nike

我创建了一个简单的 RMI 应用程序,它只是向 RMI 服务器发送一条消息。但是在发送消息时我收到了错误消息。我正在使用 eclipse 来运行程序。

向 10.0.0.12:3233 发送问候

java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
java.lang.ClassNotFoundException: com.zoondia.ReceiveMessageInterface (no security manager: RMI class loader disabled)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at test.rmi.RmiClient.main(RmiClient.java:28)
Caused by: java.lang.ClassNotFoundException: com.zoondia.ReceiveMessageInterface (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(Unknown Source)
at java.rmi.server.RMIClassLoader.loadProxyClass(Unknown Source)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(Unknown Source)
at java.io.ObjectInputStream.readProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)

任何人都知道问题是什么。我使用 eclipse 来运行该程序。我是否需要在 eclipse 中使用 rmi 编译器,或者在运行程序时它会自动编译。

谢谢,VKS。

最佳答案

该异常表示在您的服务器中安装 RMI 安全管理器失败。除非设置了安全管理器,否则 RMI 将无法从您的客户端下载任何代码。

您需要在服务器代码中执行以下操作:

if (System.getSecurityManager() == null) 
{
System.setSecurityManager(new java.rmi.RMISecurityManager());
}

查看 RMISecurityManager 的 javadocs了解更多信息。

关于java - 简单的 RMI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7569386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com