0

OSGi 環境で使用したいサードパーティ JAR がありますが、OSGi に適した MANIFEST.MF がありません。だから、私はそれをラップするためにBND(まあ、BNDTools)を使っています。それはうまくいっていますが、次のようになります。

また、Maven (これもセットアップされていません) で簡単に使用できるようにしたいので、その依存関係を説明する Maven POM を含めたいと思います。BNDを介してこれを行う方法はありますか? これが私が試したことです:

さまざまな Mavenized JAR のレイアウトを調べたところ、META-INF/maven/groupId/artifactId に POM が含まれているように見えました。例えば:

META-INF/maven/com.example/com.example.greatapilibrary/pom.xml.

そこで、POM を作成してそのような場所に配置し、bnd.bnd を次のように変更しました。

-include: META-INF/maven/com.example/com.example.greatapilibrary/pom.xml

ただし、生成された JAR にはファイルが含まれません。

おそらく「-include」に関する BND のドキュメントを読み間違えていると思います (100% 確実ではありませんが)。JAR に余分なファイルを含めるのではなく、結果の MANIFEST.MF に余分なマニフェスト ディレクティブを含めるためのようです。

しかし、いずれにしても、BND を使用してやりたいことを達成する方法はありますか? それとも、別のリラッパー プログラムを使用して POM で JAR を作成し、元の JAR をリラップするのではなく、BND を使用してリラップする必要がありますか?

助けてくれてありがとう。

4

1 に答える 1

2

追加してみてください:

-includeresource: META-INF/maven/com.example/com.example.greatapilibrary/pom.xml=META-INF/maven/com.example/com.example.greatapilibrary/pom.xml 

あなたのbnd.bndに

includeこのリンクでは、とincluderesource( と同じ)の違いについて説明していますInclude-Resource: http://bndtools.org/faq.html#whats-the-difference-between--include-and-include-resource

于 2012-09-06T18:36:47.710 に答える