0

Pax Exam で OSGI アプリをテストしたいのですが、プラグインの 1 つからアプリケーションを起動するのに問題があります。

私は Equinox を使用しており、org.eclipse.equinox.app.IApplication を拡張する Equinox 固有のクラスがいくつかあります。このクラスは、Eclipse Application Launcher で選択でき、最初に実行されるクラスです (私の場合、アプリのライフサイクルを制御します)。

Pax Exam テストを実行すると、すべてのバンドルが解決されますが、IApplication は開始されません。

この種のアプリケーションを Pax Exam で実行するにはどうすればよいですか?

さらに、アプリの引数を渡すにはどうすればよいですか? FrameworkProperty (-F) と systemProperty (-D) しか表示されませんが、通常のアプリ引数が必要です。

4

2 に答える 2

0

IApplication は Equinox の一部であり、レジストリを使用して何がインストールされているかを調べます。そのため、PAX に適切な jar を含めるだけでなく、少なくとも宣言型サービスと拡張レジストリ バンドルを確実に開始する必要があります。そうしないと、IApplication が見つからないからです。

第 2 に、EclipseStarter クラスを呼び出すバンドルはありません。これは、主要な引数を処理し、それをランタイムに渡すものです。したがって、自分でそれを行わない限り、アプリケーションはまったく実行されないことに気付くでしょう。

特に Eclipse を起動している場合は、これらを Java システム プロパティとして指定するための Eclipse 固有の引数がいくつか見つかる場合があります。

http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html

たとえば、 -Dapplication.id=yourapp を指定できます

改行で区切られた引数のリストとして eclipse.commands を試すこともできます。

于 2014-09-24T13:55:54.767 に答える