1

現在、Java/C++ および CORBA で単純な GUI アプリケーションに取り組んでいます。VirtualBox のクライアントが localhost のサーバーに接続するようにします。私が以前に書いた電卓のような単純なアプリを持っているときは、それで十分です。しかし、いくつかのargs witch javas-cpオプションが必要なクライアントを実行すると、エラーが発生します。(ローカルホストにクライアントとサーバーの両方がある場合、そのような問題はありません!) 私は、VirtualBox で Win XP を使用し、ローカルホストで 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オプションに問題はありますか? アプリのディレクトリ ツリーを変更できません。

4

1 に答える 1

1

私は個人的にあなたが抱えている2つの問題を見ています。

  1. クラスパスのこと。またはまたは で名前が付けClient.classられたファイルがありますか。そうでない場合は、それを探して、そのディレクトリをクラスパスに追加します。入っている場合は、より多くの情報を提供してください .Dir1Dir2

  2. CORBA のこと。あなたのOrb.init();電話を見てみたいです。他のすべてはよさそうだ。

于 2012-10-21T13:28:36.837 に答える