如何在远程主机上使用正确的参数运行rmiregistry和RMI服务器?
运行RMI客户端时出现此问题:
<select class="form-control" id="someId">
<option value="">Select...</option>
<option id="10" value="option1">1</option>
<option id="20" value="option2">2</option>
<option id="30" value="option3">3</option>
<option id="40" value="option4">4</option>
</select>
<select class="form-control" id="someId">
<option value="">Select...</option>
<option id="10" value="option1">1</option>
<option id="20" value="option2">2</option>
<option id="30" value="option3">3</option>
<option id="40" value="option4">4</option>
</select>
<select class="form-control" id="someId">
<option value="">Select...</option>
<option id="10" value="option1">1</option>
<option id="20" value="option2">2</option>
<option id="30" value="option3">3</option>
<option id="40" value="option4">4</option>
</select>
我在远程主机上启动了rmiregistry,其中包含以下内容:
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 -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 &
答案 0 :(得分:0)
java -Djava.rmi.server.codebase=file:///export/home/timsadm/Projects/rmi-server/classes
和
java.net.MalformedURLException: unknown protocol: c
这些是相互矛盾的。我怀疑你的codebase参数看起来真的像这样:
-Djava.rmi.server.codebase=c:/export/home/timsadm/Projects/rmi-server/classes
这不是有效的网址。
但是你为什么要使用代码库功能呢? file:
代码库网址只能在单个主机中运行,在这种情况下,您根本不需要代码库功能,或者从注册表和客户端的角度指定共享文件系统,这个似乎没有做到。通常,代码库URL为http:
或ftp:
,它们引用JAR文件。