1

Redhawk と CentOS の最新バージョンを使用していますが、すぐにいくつかの問題に遭遇しました。最初は黒板とサンドボックスが見えませんでしたが、eclipse.ini ファイルの次の 2 行のうちの 1 行をコメントアウト (#) する​​ことで、この問題は解決されました。

 -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
 -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

ここからこの修正を見つけました。発生した明らかなエラーはありませんでしたが、予期しない問題が発生する可能性があることに注意してください。

私が今抱えている問題は、周波数や振幅などのコンポーネントのプロパティ値を変更できないことです。プロパティ ビューまたは SCA Component Editor から変更できません。# を元に戻そうとしましたが、問題は解決しませんでした。Chalkboard の問題の根源はそこにあるように思われるので、解決策を求めて JacORB を調べました。

これは、エラー ログの「caused by:」チェーンの最後です。

Caused by: 
     java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(ORB.java:305)
    ... 91 more

JacORBの問題をコメントアウトせずに修正する方法や、値を変更する許可を得る方法についてのアイデアはありますか? いずれかの解決策をいただければ幸いです。

4

1 に答える 1

2

更新: これは、Java 7u65、6u85 以降の問題ではありません。ORB シングルトン クラスのロード バグを参照してください。

この問題は、IDE が Java ブートストラップ クラス パスにあるいくつかの CORBA 関連クラスを JacORB 提供のクラスに置き換えようとすることが原因です。Java は、7u55 および 6u71 から始まるいくつかの更新でこれを一時的に禁止しました。JacORB は、マニュアルのセクション 27.1: JacORB プログラミング ガイドで、ブートストラップ クラス パスを変更する必要性について言及しています。

IDE のブートストラップ クラス パスを変更して JacORB と JacORB の依存関係を含めることで、私の 1.9.0 IDE でこれを回避することができました。以下の手順では、IDE が /usr/local/redhawk/eclipse にあることを前提としています。まず、プラグインから JacORB jar を抽出します。

cd /usr/local/redhawk/eclipse/plugins
jar xf org.jacorb_* lib/jacorb.jar

次に、slf4j プラグインのファイル名に注意してください。

ls org.slf4j.api_*

/usr/local/redhawk/eclipse/eclipse.iniここで、2 つの jar がブートストラップ クラスパスの先頭に追加されるように変更します。2 つの jar への絶対パスを使用する必要があります。私のスニペットは以下のとおりです。

...
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
-Xbootclasspath/p:/usr/local/redhawk/eclipse/plugins/lib/jacorb.jar:/usr/local/redhawk/eclipse/plugins/org.slf4j.api_1.6.4.v20120130-2120.jar
...

コンソールから起動すると、slf4j からのエラーが表示される場合がありますが、問題になることはありません。正しく実行すると、ターゲット SDR のすぐ上にある SCA エクスプローラー ビューにサンドボックスが表示されるはずです。

于 2014-06-21T23:19:27.827 に答える