2017-10-19 16 views
1

Opendaylight Carbonのための機能(バンドルからなる)を開発しています。opendaylight:ライブラリのjarファイルを含めるにはどうすればよいですか?

私は私の機能にサードパーティ製の瓶(libary)を含むようにしたいです。これどうやってするの?私はそれをバンドルとして含めたくない - 私のバンドルにリンクされたjarファイルライブラリと同じように。

私はこのサードパーティージャーをバンドルしたくありません。私はそれをMYバンドルで解決できるように含めるだけです。ありがとう。

答えて

1

あなたは「バンドルとしてそれを含めたい」NOR「は、このサードパーティのjarファイルをバンドルする」ではないことはできません両方。どのようにOSGi(Karaf)があなたのサードパーティーのJARからクラスをロードすることを期待するのですか?あなたがうまくEmbed-Dependency経由にそれを頼む場合は(一緒に、それは内部的に使用していますBND付き)maven-bundle-pluginは基本的にあなたのためのすべてのハードワークを行うことができますので、

しかしバンドルは、あなたが考えることよりも、おそらくもっと簡単です。

+0

バンドルはそれぞれ独自のクラスローダーにロードされていると思っていました。つまり、あるバンドルのメソッドを別のものから直接呼び出すことはできませんでした。 – LostInTheFrequencyDomain

+0

はい、バンドルはそれぞれ独自のClassLoaderにロードされます(ただし、 MANIFEST.MFのパッケージとインポートパッケージ)。したがって、もともと有効なOSGiバンドルではない第三者のJAR(つまり、MANIFEST.MFのExport-Package&Co.を持たない)をお持ちの場合は、その新しいJARを「再パッケージ」するか有効なバンドルであるJAR、バンドルから各ものをインポートする、またはOSGi以外のサードパーティのJARをバンドルに埋め込むことができます。 HTH? – vorburger

関連する問題