Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在RMI中将interface.class文件自动导入客户端?_Java_Rmi - Fatal编程技术网

Java 如何在RMI中将interface.class文件自动导入客户端?

Java 如何在RMI中将interface.class文件自动导入客户端?,java,rmi,Java,Rmi,我对RMI很感兴趣,所以我的问题可能有点误解 我现在要描述我的问题 在Eclipse上开发RMI应用程序时: 服务器端: 创建一个项目来定义我的应用程序需要的所有接口(扩展远程) 创建一个用于实现上述接口的项目 创建一个服务器项目并将远程对象注册到注册中心 客户端 创建一个客户端项目。我的问题是: a。CalInterface c=(CalInterface)r.lookup(“mycalserver”) 因为CalInterface不在客户端项目中,所以我需要构建CalInterface.c

我对RMI很感兴趣,所以我的问题可能有点误解

我现在要描述我的问题

在Eclipse上开发RMI应用程序时:

服务器端:

  • 创建一个项目来定义我的应用程序需要的所有接口(扩展远程)
  • 创建一个用于实现上述接口的项目
  • 创建一个服务器项目并将远程对象注册到注册中心
  • 客户端

  • 创建一个客户端项目。我的问题是:

    a。CalInterface c=(CalInterface)r.lookup(“mycalserver”)

  • 因为CalInterface不在客户端项目中,所以我需要构建CalInterface.class并将其复制到客户端项目中(通过添加外部类文件夹)。它很好用

    我的问题是:

  • 如何在客户端项目中自动导入
  • CalInterface.class是客户端中的存根角色吗
  • 我的方法适合开发RMI应用程序吗
  • 多谢各位

    服务器端:

    创建一个项目来定义我的应用程序需要的所有接口(扩展远程)

    不可以。这应该是一个单独的项目,由服务器和客户端项目共享。它不仅必须包含远程接口,还必须包含远程接口所依赖的任何应用程序类,以此类推,直到关闭为止

    创建一个用于实现上述接口的项目。 创建一个服务器项目并将远程对象注册到注册中心

    您不需要这两个项目,您可以将它们合并到一个服务器项目中,并将共享项目添加到其中

    客户端

    创建一个客户端项目

    并将共享项目添加到其中

    我的问题是:

    如何在客户端项目中自动导入

    见上文

    CalInterface.class是客户端中的存根角色吗

    不,它是一个远程接口。从
    lookup()
    获得的对象是一个实现该接口的远程存根,但其机制是自动的,与您无关

    我的方法适合开发RMI应用程序吗


    不,请参见上文。

    谢谢,但如何自动导入共享项目?。如果我在另一台电脑上运行客户端项目,会发生什么?代码库是我应该寻找的吗?我不能建议您如何在Eclipse中共享项目,但必须有一种方法。结果是,客户端在其类路径中使用共享项目进行编译,并使用shared.jar文件进行部署。哦,所以我不需要担心CalInterface.class,因为它是客户端项目的一部分?它是客户端项目的一部分,因为它是客户端项目中包含的共享项目的一部分。非常感谢。我现在就试试。