私はosgiフレームワークを学んでいます。osgi は厳密なクラスローディング環境で動作すると書かれています。Strict ClassLoading とは何かを取得できません。概念が理解できないので助けてください
ありがとう
私はosgiフレームワークを学んでいます。osgi は厳密なクラスローディング環境で動作すると書かれています。Strict ClassLoading とは何かを取得できません。概念が理解できないので助けてください
ありがとう
厳密なクラスローディングとは、モジュール (バンドル) が必要なものを明示的に指定する必要があることを意味します。OSGi では、これはマニフェスト ヘッダーを使用して行われます。Import-Package は、バンドルが必要とするパッケージとそのバージョン範囲を一覧表示し、Export-Package は、バンドルが提供するパッケージとそのバージョンを一覧表示します。OSGi ランタイムでは、エクスポートとインポートに従ってバンドルを接続するバンドルごとのクラスローダーがあります。
ただし、これらのヘッダーを手動で定義しないでください。bnd という名前の便利なツールがあり、maven にはほとんどの作業を行う felix の maven バンドル プラグインがあります。このチュートリアルでは、これが実際にどのように機能するかがわかります: http://www.liquid-reality.de/x/DIBZ
私が実際に手作業であまり定義していないことがわかるでしょう。そのため、コードをビルドして meta-inf/Manifest に組み込み、その機能を確認してください。
厳密なクラス読み込み環境は、クラスの適切なヘッダーを指定する必要があることを意味します。たとえば、クラスパスとインポートパッケージ