2014-11-23 166 views
0

我尝试使用命令提示符在Windows8系统上安装开源软件。 我从来没有做过类似的事情,我也不是很有经验的使用RMI。我需要一些帮助来解决我遇到的异常错误。 这是我遵循的程序:我已经设置了CLASSPATH这样java.rmi.ConnectException:连接拒绝主机192.168.56.1

set CLASSPATH=C:\kuwaiba7\service\lib\PersistenceAbstractionAPI.jar;C:\kuwaiba7\service\lib\PersistenceServiceRemoteInterfaces.jar 

然后我开始RMI注册表:

start "C:\Program Files\Java\jdk1.7.0_71\bin\rmiregistry.exe 

一个新的命令提示符窗口打开。在此窗口中我的PersistenceService运行以下命令:

C:\kuwaiba7\service>java -Djava.rmi.server.codebase="file:/C:/kuwaiba7/service/l 
ib/PersistenceAbstractionAPI.jar file:/C:/kuwaiba7/service/lib/PersistenceServiceRemoteInterfaces.jar" -jar PersistenceService.jar 

第一行显示到数据库的连接建立,但后来我得到一个:java.rmi.ConnectException错误。

[Sun Nov 23 13:57:02 EET 2014] Current working directory: C:\kuwaiba7\service 
    [Sun Nov 23 13:57:02 EET 2014] Establishing connection to the database... 
    [Sun Nov 23 13:57:03 EET 2014] Connection established 
    EmbeddedGraphDatabase [C:\kuwaiba7\service\target\kuwaiba.db] 
    [Sun Nov 23 13:57:04 EET 2014] Registry obtained 
    java.rmi.ConnectException: Connection refused to host: 192.168.56.1; nested exception is: 
    java.net.ConnectException: Connection refused: connect 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) 
    at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) 
    at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) 
    at sun.rmi.server.UnicastRef.newCall(Unknown Source) 
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source) 
    at org.kuwaiba.persistenceservice.Main.main(Main.java:72) 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source) 
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source) 
    ... 6 more 
    [Sun Nov 23 13:57:05 EET 2014] Abnormal program termination. See log file for details 

我的问题是: 1)我怎么能肯定的是,RMI运行是否正常? 2)我得到这个异常是否意味着我的RMI不运行? 3)如何在命令提示符下解决这个异常错误?

我也想提一提,设置类路径之前我得到另一个错误: java.rmi.serverException java.rmi.unmarshalException 抛出java.lang.ClassNotFoundException

后设置classpath中,我停止了越来越这些错误。

我会在这里申请任何帮助。正如我所提到的,我在RMI方面工作经验不是很丰富,所以请耐心等待! :)

感谢 季米特里斯

+2

您似乎已经启动,然后停止注册表。当您发出START命令时,会打开一个新的命令窗口,但这是针对注册表的。你不能在其中运行任何你自己的东西。 – EJP 2014-11-23 21:59:33

+0

是的。你是对的。我愚蠢的使用我运行regitstry的窗口。如果你想回答问题来接受它。 – user1919 2014-11-25 12:32:15

回答

2

我开始,然后通过使用命令提示符窗口,其中有对注册表打开停止注册。 EJP在他上面的评论中解释得非常清楚。 谢谢。

相关问题