我现在正在研究 Java/C++ 和 CORBA 中的简单 gui 应用程序。我希望 VirtualBox 上的客户端连接到本地主机上的服务器。当我有一个简单的应用程序时,比如我之前写过的一个 calc 就很好了。但是当涉及到运行需要一些 args 巫婆 javas-cp
选项的客户端时,我遇到了错误。(当我在 localhost 上同时拥有客户端和服务器时,就没有这样的问题!)我在 VirtualBox 上使用 Win XP,在 localhost 上使用 Ubuntu。
我的错误:
WARNING: "IOP00100007: (BAD_PARAM) string_to_object conversion failed due to bad
scheme name"
org.omg.CORBA.BAD_PARAM: vmcid: OMG minor code: 7 completed: No
at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
at com.sun.corba.se.impl.resolver.INSURLOperationImpl.operate(Unknown So
urce)
at com.sun.corba.se.impl.resolver.ORBInitRefResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown
Source)
at ClientConnection.connect(ClientConnection.java:57)
at Client.main(Client.java:295)
Exception in thread "main" org.omg.CORBA.BAD_PARAM: vmcid: OMG minor code: 7
completed: No
at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
at com.sun.corba.se.impl.logging.OMGSystemException.soBadSchemeName(Unkn
own Source)
at com.sun.corba.se.impl.resolver.INSURLOperationImpl.operate(Unknown So
urce)
at com.sun.corba.se.impl.resolver.ORBInitRefResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown
Source)
at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown
Source)
at ClientConnection.connect(ClientConnection.java:57)
at Client.main(Client.java:295)
make[1]: *** [run] Error 1
ClientConnection.java:57 是一行objRef = clientORB.resolve_initial_references("NameService");
Client.java:295 是一行: ClientConnection.connect(args);
connect
方法只是一个普通的客户端连接 corba 代码。
我跑了我的例子:
1)
C:\Temp\Client>java -cp .:../Dir1:../Dir2 Client -ORBInitRef NameService
=corbaloc::192.168.56.1:2809/NameService
Error: Could not find or load main class Client
所以它甚至根本没有运行..
2) 在 Makefile 的帮助下:
HOST = 192.168.56.1
PORT = 2809
NAMESERVICE = NameService
run:
java -cp .:../Dir1:../Dir2 Client -ORBInitRef NameService=corbaloc::$(HOST):$(PORT)/$(NAMESERVICE)
通过键入make run
然后我得到了我之前发布的那些错误。怎么了?我的意思是,一个简单的代码可以正常工作,但 gui 版本不想......-cp
选项有问题吗?我无法更改我的应用程序的目录树。