【问题标题】:Rmi Client cant find Server stubRmi客户端找不到服务器存根
【发布时间】:2016-06-16 14:08:31
【问题描述】:

我有一个服务器项目和一个客户端。服务器运行良好。服务器项目内的客户端也运行良好。但是当我创建另一个客户端项目时,里面有接口但没有服务器 ofc,我编译它,当我尝试运行它时,我得到了这个错误。我已经阅读了很多东西,但没有任何效果,我尝试了客户端的安全管理器,实际上我尝试了很多想法,但我一直收到这个错误,我还读到我需要为我试过的客户项目启动一个新的 rmi 注册表那个,但我不能打开一个新的 错误:

运行:

Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    java.lang.ClassNotFoundException: RMIServer03_Stub (no security manager: RMI class loader disabled)
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    at java.rmi.Naming.lookup(Naming.java:101)
    at Client.<init>(Client.java:65)
    at Client.main(Client.java:141)
Caused by: java.lang.ClassNotFoundException: RMIServer03_Stub (no security manager: RMI class loader disabled)
    at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:396)
    at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:186)
    at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
    at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
    at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:219)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
    ... 4 more
C:\Users\blue-icon\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)

【问题讨论】:

    标签: java rmi


    【解决方案1】:

    您所要做的就是使用rmic 生成存根类并将其部署到客户端。

    在每个有价值的 RMI 教程中都会提到这一点。很惊讶你没有遇到它。

    【讨论】:

    • 我过去曾经能够运行外部客户端,但我格式化了我的电脑,之后我做了完全相同的步骤以便能够运行 rmi 但现在当我尝试运行外部客户端(项目中没有服务器类)我收到此错误....
    • 如果你做了,但它不起作用,你没有正确地做。它适用于其他所有人。
    • 二十年来我一直在使用 RMI 并为人们提供建议。是你没看懂我的回答。您必须将存根类部署到客户端的 CLASSPATH。我见过的每个 RMI 教程都提到了这一点,从 Oracle's 开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多