私のコードでは、 を使用して複数の OSGi フレームワークを開始しEquinoxFactory
ます。プロパティ"org.osgi.framework.storage"
を"@user.home/osgi-frameworks/framework-x"
に設定すると、x
はフレームワークごとに異なり、各フレームワークは異なるディレクトリを使用します。
frameworkProperties.put("osgi.clean", "true");
frameworkProperties.put("osgi.console", "true");
frameworkProperties.put("org.osgi.framework.storage",
"@user.home/osgi-frameworks/osgi-framework-"
+ numberOfFramework);
framework = new EquinoxFactory().newFramework(frameworkProperties)
これは、実際のアプリケーションを実行するときに完全に機能します。また、IDE の JUnit テストは問題なく実行されます。
ただし、プロジェクトの Maven ビルドを開始すると、すべてのフレームワークが同じディレクトリ ( "osgi-frameworks/framework-0"
) を使用するため、JUnit テストは失敗します。
"org.osgi.framework.storage"
OSGi プロパティ マップでプロパティが実際に異なる値を持っているかどうかを確認するために、アプリケーションにロギングを追加しました。ログでは問題ないように見えますが、ファイル スペースを確認すると、ディレクトリが 1 つしか作成されていません。
アプリケーションを Jenkins に組み込みたいので、テストを省略したくありません。
誰が何が間違っているのか考えていますか? フレームワークに他のパラメーターを設定する必要がありますか? IDE と Maven の Junit の間に大きな違いはありますか?