0

ant bndwrapタスクでラップしようとしている既存の jar には、別の jar のクラスが含まれています。これは、埋め込まれた jar ではなく、展開された jar を意味します。

これらのパッケージをバンドルのエクスポート パッケージ宣言から除外するにはどうすればよいですか?

基本的にjarにはパッケージがあります

org.stuff

org.otherstuff

org.stuff パッケージのみをエクスポートしたいのですが、bndwrap には両方が含まれます。

4

1 に答える 1

0

bnd ファイルで Export-Package を使用する場合は、「!」を使用して除外を定義することもできます。

http://www.aqute.biz/Bnd/Bndからの例:

Export-Package: !com.acme.impl, com.acme.*;version=1.2

また、ラッピングを使用する場合は、-exportcontents が興味深い場合があります: http://www.aqute.biz/Bnd/Wrapping :

「バイナリとソースは最終的な jar にはありませんが、bnd はエクスポートする必要があるものをまだ認識していません。これは、-exportcontents 命令で示すことができます。Export-Package と同じ構文を持ちますが、クラスパスからコピーしません。最終的な JAR のコンテンツに命令を適用するだけです。」

于 2014-01-14T11:49:33.770 に答える