我尝试使用命令提示符在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方面工作经验不是很丰富,所以请耐心等待! :)
感谢 季米特里斯
您似乎已经启动,然后停止注册表。当您发出START命令时,会打开一个新的命令窗口,但这是针对注册表的。你不能在其中运行任何你自己的东西。 – EJP 2014-11-23 21:59:33
是的。你是对的。我愚蠢的使用我运行regitstry的窗口。如果你想回答问题来接受它。 – user1919 2014-11-25 12:32:15