Java RMI:使用外部远程对象

Java RMI:使用外部远程对象,java,rmi,securitymanager,Java,Rmi,Securitymanager,正当我以为我知道RMI是如何工作的时候,它回来告诉我我不知道。以下情况: 我已提出: 接口: 运行RMI注册表的地址 该接口提供了cleary 3 getter方法来获取有关对象的信息。我只想查找对象调用这三个方法并打印出它们的值: 但是,以下实现不起作用,导致以下异常: 主线程java.rmi.unmarshaleException中出现异常:错误解组返回;嵌套异常是: java.lang.ClassNotFoundException:文章 在sun.rmi.registry.Registry

正当我以为我知道RMI是如何工作的时候,它回来告诉我我不知道。以下情况:

我已提出:

接口: 运行RMI注册表的地址 该接口提供了cleary 3 getter方法来获取有关对象的信息。我只想查找对象调用这三个方法并打印出它们的值:

但是,以下实现不起作用,导致以下异常:

主线程java.rmi.unmarshaleException中出现异常:错误解组返回;嵌套异常是: java.lang.ClassNotFoundException:文章 在sun.rmi.registry.RegistryImpl_Stub.lookupUnknown Source 在rmi.ArticleDisplayer.mainArticleDisplayer.java:21

原因:java.lang.ClassNotFoundException:文章 位于java.net.URLClassLoader$1.run未知源 位于java.security.AccessController.doPrivilegeEdNative方法 位于java.net.URLClassLoader.findClassUnknown Source


我也不知道为什么我需要一个安全管理器,因为我的机器没有执行代码。代码在运行RMI注册表的计算机上执行。无论如何,这是我的策略文件:

发生此问题是因为客户端和源应用程序都应该可以访问相同的文章类


您可以使用两个模块客户端和服务器使用的公共类创建一个Jar,并使用它。我通常为这些类型的包命名为commons。

好的,问题的答案是:

实现以及接口都在默认包中。我在自己的包中编写了这个程序:rmi


还有我在rmi包中下载的接口。事实上,rmi.Article!=文章。

我无法访问这些课程。我只能通过查找下载代码,还是我搞错了?你应该可以访问文章界面。我想说的是接口而不是类