java - 使用 ProcessBuilder 时客户端无法连接 RMI 注册表

标签 java process rmi processbuilder rmiregistry

如果我从命令行创建 RMI 注册表,客户端将对象绑定(bind)到注册表时不会出现问题。

但是,如果我使用 ProcessBuilder 启动 RMI 注册表,则会出现错误。

这是我使用 ProcessBuilder 创建 rmiregistry 的代码

ProcessBuilder obj = new ProcessBuilder ("rmiregistry","2500");

Process obj_process = obj.start();

当我尝试绑定(bind)到我自己的 RMI 注册表时,我因使用 ProcessBuilder 而遇到错误

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.lang.ClassNotFoundException: node_func

node_func 是一个接口(interface)

有什么想法吗?

最佳答案

我不明白为什么当您可以使用 LocateRegistry.createRegistry() 时要启动一个单独的进程。如果你这样做了,这个问题也会消失。

关于java - 使用 ProcessBuilder 时客户端无法连接 RMI 注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12359651/

相关文章:

java - 以编程方式将 CA 信任证书导入现有的 keystore 文件,而不使用 keytool

java - 在Java中使用POSTagger将不同的POS(词性)保存在不同的文件中?

java - Android - 为什么我无法将连字符添加到 CharSequence - Java

javascript - Node.js 无法获得衍生进程的输出

c++ - 互斥和进程同步; C++

java - JAVA RMI 还在任何地方使用吗?

java - 确定 Linux 平台上远程机器上运行的 JVM 列表

java - 聊天应用程序、套接字与 RMI

java - 如何使 jButton 操作不仅仅在一次运行中起作用?

c - 如何从 C 在 Linux 中使用 sched_getaffinity 和 sched_setaffinity?