【问题标题】:Java RMI Client cannot cast to exceptionJava RMI 客户端无法转换为异常
【发布时间】:2015-04-22 10:20:54
【问题描述】:

我正在开发 RMI 聊天系统,但在运行客户端时遇到异常。 我得到的例外是:

 Server failed: java.lang.ClassCastException: com.sun.proxy.$Proxy1 cannot  be cast to rmi.ClientInterface

发生异常的行在我的主类中,如下:

 ClientInterface server =(ClientInterface) Naming.lookup("rmi://localhost/ABC");

其中 ClientInterface 是一个扩展 Remote 的接口。 知道如何解决这个问题吗? 谢谢

【问题讨论】:

  • 你确定你的服务器ìmplements ClientInterface。不应该是ServerInterface之类的吗?
  • 也可以试试 PortableRemoteObject.narrow(Object narrowFrom, ClassnarrowTo) 而不是强制转换。
  • @regde 只有当它是一个 RMI/IIOP 远程对象时它才有效,但它不是。而且你仍然需要转换narrow()的结果。

标签: java chat rmi


【解决方案1】:

通常的原因是在不同的包中有两个同名的远程接口类。它不起作用。必须是同一个包同名同一个接口同一个内容。最好是相同的目标代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 2010-12-21
    相关资源
    最近更新 更多