1

このスレッド Importing "outside" Java class in embedded OSGi equinox frameworkから質問を更新する必要があります。システムバンドル (またはその他の方法) によってマニフェストファイルなしで通常の Java パッケージ (バンドルではない) をインポートし、インストールされたバンドルで使用することは可能ですか?

4

2 に答える 2

1

はい、OSGi で通常の jar のクラスを使用できます。フレームワークのスターターのクラスパスにクラスを追加し、必要なパッケージを org.osgi.framework.system.packages.extra プロパティに追加するだけです。

システム バンドルは、OSGi 以外のクラスパスから OSGi システムにクラスをエクスポートする役割を果たします。

ただし、この方法は通常のバンドル展開とは少し矛盾しています。したがって、より良い方法は、bnd ツールまたは maven バンドル プラグインを使用して、非 OSGi jar を通常のバンドルに変換することです。

于 2013-09-24T07:57:24.893 に答える
0

OSGi は「通常の Java クラス」を使用します。違いは、それらをバンドルに変換する jar マニフェストにあります。OSGi インストールに含めたいすべての jar には、その依存関係とそれが提供するものをリストしたバンドル マニフェストが必要です。

于 2013-09-23T10:56:16.137 に答える