3

OSGi バンドル内のパッケージのインポートに問題があります。

呼ばれるパッケージorg.semanticweb.HermiT.datatypes.xmlliteralはjarファイルに含まれていますorg.semanticweb.HermiT.jar。この jar はターゲット定義に含まれており、実行構成で選択されています。私のターゲットはそれを OSGi バンドルとして認識するので、問題にはなりません。自分のバンドルにパッケージをインポートしようとすると、パッケージをエクスポートするバンドルがないというエラーが表示されます。何が問題なのか知っている人はいますか?

4

1 に答える 1

3

「org.semanticweb.HermiT.jar」の標準ダウンロードを確認すると、Export-Package がありません。したがって、JAR 内のどのパッケージも他の OSGI コンポーネントで使用できません。

アップデート:

pax-url ラップ プラグインは、非 osgi JAR を osgi バンドルにラップし、任意の MANIFEST 行を追加するのに役立ちます。

https://ops4j1.jira.com/wiki/display/paxurl/Wrap+Protocol

Export-Package が含まれていない理由もあるかもしれません。問題を探していないことを確認するために、作成者に直接問い合わせることをお勧めします。

持っている JAR を更新して、デプロイ時に常にそれを使用することもできます。実際にはたくさんのオプションがあります。

このプロジェクトがどのようにそれを行うかを見ることもできます:

http://iks-project.googlecode.com/svn-history/r794/sandbox/kres/trunk/eu.iksproject.kres.shared/dependency/hermit124/pom.xml

pom.xml を作成し、maven バンドル プラグインを使用して独自のマニフェスト エントリを提供します。

于 2013-07-22T14:06:56.100 に答える