代码之家  ›  专栏  ›  技术社区  ›  JohnIdol

RMI激活异常问题

  •  2
  • JohnIdol  · 技术社区  · 15 年前

    我正在尝试让一个RMI可激活服务器工作-但目前还没有运气。实际上,服务器似乎在运行,但是客户机触发了一个奇怪的异常。

    我有3个项目:

    • 客户机
    • 常见的
    • 服务器

    公共的是客户端和服务器之间的共享代码(如远程接口)。

    我遵循的步骤(一直在适应 this tutorial ):

    • 启动注册表-->确定
    • 运行rmid-->确定
    • 启动服务器安装程序--确定
    • 启动客户端--> 繁荣!激活失败,因为类位于 常见的 在服务器线程中找不到具有noclasdeffounderror的 .

    我将通用类文件包含在服务器的代码库中,因此这些类/接口应该对服务器可用。它在远程接口本身上是失败的——所以唯一的选择似乎是将所有公共代码拉入服务器代码中,但是这样客户端代码就必须知道简单的服务器代码。

    我浏览了一下,看起来 this guy here 也有同样的问题。

    在这两种情况下,当可激活服务器引用其他包中的类时,都会发生这种情况(在我的例子中,它是第三方链接中的自定义包)。

    我真的在这里迷路了-所以任何想法都会被感激的!

    编辑 :其他信息-我正在尝试调试问题。客户端在主题中检索远程对象似乎很好(引用不是空的)。一旦调用远程接口的方法(客户端知道该接口),就会抛出异常。如果激活发生在第一个方法调用上,那么这是非常明显的——但不太确定它实际尝试激活远程对象/服务器的时间。

    1 回复  |  直到 15 年前
        1
  •  2
  •   JohnIdol    15 年前

    你把课程包括在 常见的 安装期间是否将包打包到服务器上可激活类的位置?如果有多条路径,请确保用空格分隔它们。