問題タブ [bnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
245 参照

java - バージョンが重複する Bnd Import-Package

Import-Packageで bnd 2.1.0 がマニフェストを生成できるか疑問に思って います。同じ名前でバージョンが異なる 2 つのパッケージがあります。それは可能であり、この行動には意味がありますか? Import-Package: 'com.sample.logger;version="1.0.0",com.sample.logger;version="[2,3)"'

0 投票する
1 に答える
984 参照

osgi - 実行時にサービスのプロパティを変更するにはどうすればよいですか (宣言型サービス)

OSGi API (ServiceRegistration のインスタンス) を使用すると、実行時にサービスのプロパティを簡単に変更できます。宣言型サービスで同じことを行うにはどうすればよいですか? BndTool の注釈に基づく解決策はありますか?

どうもありがとう

0 投票する
1 に答える
1597 参照

java - BND には、'uses' ディレクティブに同じバンドルのエクスポートされたパッケージが含まれます

maven-bundle-pluginBND を使用する を使用して、ライブラリを OSGi バンドルとしてパッケージ化しています。BND が非常に長いリストを生成していることに気付きました。これは主に、ライブラリ自体によって他のエクスポートされたパッケージのディレクティブでExport-Packageエクスポートされた多くのパッケージが含まれているためです。uses

私は(ちょっと)uses指令を理解しています。この場合uses、エクスポートされたパッケージのクラスによって、他のパッケージのクラス ( にリストされている) がメソッド シグネチャで使用されている (したがって、インポートされている) と思います。

この意味で、私は2つの質問があります:

  1. usesエクスポートされたパッケージのディレクティブに、同じバンドルによってエクスポートされたパッケージを含めることが本当に必要ですか? これらのパッケージは、他のバンドルによってエクスポートされることはありません。したがって、分割パッケージはありません。
  2. この動作は、ライブラリのパッケージ構造が正しく定義されていないことを示していますか? 最上位パッケージで使用されるいくつかのクラスは、多くの場合、サブパッケージにあり、その逆もあります。これは、OSGi バンドルに適合されたライブラリーです。パッケージ構造は、OSGi フレンドリーになるようには設計されていません。

ほとんどのエクスポートされたパッケージが MANIFEST にリストされている方法は次のとおりです。

uses上記のリストのすべてのパッケージjavax.measure.unitから、別のバンドルからのみインポートされます。

maven-bundle-plugin構成:

0 投票する
1 に答える
2039 参照

java - OSGi (Felix) 追加の system.bundle エクスポート

簡単な実験 -

バンドル A は、そのクラス ローダー ( jaxb.. ) を介して使用できるように、いくつかの com.sun.xml.internal.bind クラスを必要とします。

パッケージを「org.osgi.framework.system.packages.extra」(felixに実装されている標準フレームワークパラメーター、 http://felix.apache.org/site/apache-felix-framework-configuration-properties.htmlで文書化されています)、バンドルにインポートします。

そうすることで、バンドルは解決されなくなります..

( 5 は jaxb を使用するバンドルです) 「com.sun.xml.internal.bind」に「org.osgi.framework.bootdelegation」を設定し、依存バンドルにインポートしないことは、文書化されているとおりに機能しました。

system.packages.extra がすべきことを誤解していますか? system.bundle からのインポートを解決できませんか? Import-Package ディレクティブの下部にある bnd を介してインポートで system.bundle を明示的に設定しようとしました

その結果、

ps: これらを定義するために bnd と -runproperties を使用しています。私のbndrunファイルには次のものがあります:

jaxb を必要とするバンドルは、次のインポートを定義します

bndrun エディターで依存関係を解決しようとすると、

0 投票する
1 に答える
1582 参照

ant - bndwrap を使用して特定のパッケージをエクスポートから除外するにはどうすればよいですか

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

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

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

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

0 投票する
1 に答える
6331 参照

java - Maven バンドル プラグイン: エクスポートにはプライベート参照があります

実行中のmaven-bundle-pluginバージョンからバージョン2.3.5に更新した後、いくつかの警告メッセージが出力されますが、これは完全には理解できません。例えば2.4.0mvn clean install

Export ch.entwine.weblounge.contentrepository.impl.index, has 1, private references [org.elasticsearch.action.bulk]

これは、組み込みライブラリ(elasticsearch)と関係があると思います。POM の一部を次に示します。

エラーメッセージの正確な意味は何ですか? このような問題を解決するための推奨される方法は何ですか?

0 投票する
1 に答える
2039 参照

java - OSGi ランタイムで使用可能なタイプの ClassNotFoundException ( io.netty.common )

次の一見些細な問題が、この 1 日半の間、私を怒らせていまし

また、このインターフェイスを実装し、サービスとして宣言します。

bnd は、次のコンポーネント xmlを作成します。

およびmanifest.mf :

複雑すぎませんよね?ただし、次のbndrun構成では:

すべてが正しく解決されますが、ログに次のように表示されます..

tl;dr : io.netty.util.concurrent.EventExecutorGroup が見つかりません。

私は以下を確認しました: - io.netty.transport は io.netty.common からこのタイプを正しくインポートします - io.netty.common はこのタイプを含み、エクスポートします

これをデバッグする方法がわかりません。どんなポインタでも大歓迎です!プロジェクトのソースはhttps://github.com/andlaz/netty-worker-serviceで入手できます