繁体   English   中英

RMI:使用外部远程对象

[英]RMI: Using a foreign remote object

就在我以为我知道RMI的工作原理时,它又回来了,告诉我我不知道。 以下情况:

我给了:

该接口提供了清晰的3种getter方法来获取有关对象的信息。 我只想查找调用这三个方法的对象并打印出它们的值:

但是,以下实现( http://pastebin.com/d4JS0Wai )不能解决上述问题,并导致以下异常:

线程“主要” java.rmi.UnmarshalException中的异常:错误解组返回; 嵌套的异常是:java.lang.ClassNotFoundException:在rmi.ArticleDisplayer.main(ArticleDisplayer.java:21)上的sun.rmi.registry.RegistryImpl_Stub.lookup(未知源)上的文章

引起原因:java.lang.ClassNotFoundException:java.net.URLClassLoader $ 1.run(未知源)处的文章java.net.URLClassLoader.findClass(未知方法)处的java.security.AccessController.doPrivileged(本机方法)...

另外我也不知道为什么我仍然需要SecurityManager,因为我的机器没有执行代码。 该代码在运行rmiregistry的计算机上执行。 无论如何,这是我的策略文件: http : //pastebin.com/chGEqceA

发生此问题的原因是您应该具有客户端和源应用程序都可以访问的相同的 Article类。

您可以使用两个模块(客户端和服务器)使用的通用类来做一个Jar ,然后使用它(我通常将这类包的名称命名为“ commons”)。

好的,问题的答案:

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

还有我在软件包rmi中下载的接口。 实际上rmi.Article!= Article。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM