0

私はosgiフレームワークを学んでいます。osgi は厳密なクラスローディング環境で動作すると書かれています。Strict ClassLoading とは何かを取得できません。概念が理解できないので助けてください

ありがとう

4

2 に答える 2

1

厳密なクラスローディングとは、モジュール (バンドル) が必要なものを明示的に指定する必要があることを意味します。OSGi では、これはマニフェスト ヘッダーを使用して行われます。Import-Package は、バンドルが必要とするパッケージとそのバージョン範囲を一覧表示し、Export-Package は、バンドルが提供するパッケージとそのバージョンを一覧表示します。OSGi ランタイムでは、エクスポートとインポートに従ってバンドルを接続するバンドルごとのクラスローダーがあります。

ただし、これらのヘッダーを手動で定義しないでください。bnd という名前の便利なツールがあり、maven にはほとんどの作業を行う felix の maven バンドル プラグインがあります。このチュートリアルでは、これが実際にどのように機能するかがわかります: http://www.liquid-reality.de/x/DIBZ

私が実際に手作業であまり定義していないことがわかるでしょう。そのため、コードをビルドして meta-inf/Manifest に組み込み、その機能を確認してください。

于 2012-06-28T15:58:22.767 に答える
0

厳密なクラス読み込み環境は、クラスの適切なヘッダーを指定する必要があることを意味します。たとえば、クラスパスとインポートパッケージ

于 2012-06-28T07:47:27.167 に答える