【问题标题】:How to run the rmiregistry and rmi server with the right parameters?如何使用正确的参数运行 rmiregistry 和 rmi 服务器?
【发布时间】:2015-11-08 04:32:29
【问题描述】:

如何在远程主机上运行带有正确参数的rmiregistry和RMI服务器?

运行RMI客户端时遇到这个问题:

java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.net.MalformedURLException: unknown protocol: c
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at com.labros.client.TestClient.main(TestClient.java:33)
Caused by: java.net.MalformedURLException: unknown protocol: c
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)

我使用以下命令在远程主机上启动了 rmiregistry:

rmiregistry -J-Djava.rmi.server.codebase=file:///export/home/timsadm/Projects/rmi-server/cla‌​sses -J-Djava.security.policy=/export/home/timsadm/Projects/rmi-server/classes/java.p‌​olicy &

和服务器

java -Djava.rmi.server.codebase=file:///export/home/timsadm/Projects/rmi-server/class‌​es -Djava.security.policy=/export/home/timsadm/Projects/rmi-server/classes/java.pol‌​icy com.labros.server.Server

Server started 

【问题讨论】:

  • 使用以下命令在远程主机上启动 rmiregistry:john@john:~/Projects/rmi-server/classes$ rmiregistry -J-Djava.rmi.server.codebase=file:/// export/home/timsadm/Projects/rmi-server/classes -J-Djava.security.policy=/export/home/timsadm/Projects/rmi-server/classes/java.policy & 和服务器:john@john: ~/Projects/rmi-server/classes$ java -Djava.rmi.server.codebase=file:///export/home/timsadm/Projects/rmi-server/classes -Djava.security.policy=/export/home/ timsadm/Projects/rmi-server/classes/java.policy com.labros.server.Server 服务器已启动...
  • 你应该在你的问题中edit,而不是将其作为 cmets 发布。
  • 不要对未引用的文本使用引号格式,对作为代码或计算机输出的文本使用代码格式。

标签: java rmi


【解决方案1】:
java -Djava.rmi.server.codebase=file:///export/home/timsadm/Projects/rmi-server/class‌​es

java.net.MalformedURLException: unknown protocol: c

这些是相互矛盾的。我怀疑你的代码库参数真的是这样的:

-Djava.rmi.server.codebase=c:/export/home/timsadm/Projects/rmi-server/class‌​es

这不是一个有效的 URL。

但是你为什么要使用代码库功能呢? file: 代码库 URL 仅适用于单个主机,在这种情况下,您根本不需要代码库功能,或者如果它从注册表和客户端的角度指定了一个共享文件系统,这个不需要似乎没有。通常代码库 URL 是 http:ftp:,它们引用 JAR 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2010-10-02
    • 2011-02-28
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多