問題タブ [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.
java - OSGi/BND: バンドル生成からクラスを除外する方法は?
次の構造を持つバンドル プロジェクト (Eclipse) があります。
バンドルを作成しようとすると、「未解決の参照」があるというエラーが表示されます。エラーは、内部テスト クラスが原因です。これらのクラスを無視するように BND を構成するにはどうすればよいですか?
テスト ケースは、バンドルによって提供される API よりもはるかに細かい粒度であるため、テスト ケースを別のプロジェクトに分割することはできません。
eclipse - OSGI の bnd プラグインが Eclipse で機能しない
日食インディゴリリースを使用しています。bnd プラグインをダウンロードしました ( http://www.aqute.biz/Bnd/Downloadから)。bnd ファイルを右クリックして「バンドルの作成」を実行しようとすると、このあいまいなエラー メッセージが表示されます。「選択した操作は現在利用できません」と表示されます。エラーログを見ると; 「class load failure: 'aqute.bnd.plugin.popup.scripts'.
私は困惑しています..これを前に見た人はいますか?
maven - BND は、manifest.mf のエクスポート セクションとインポート セクションの両方に同じパッケージを配置します。
Maven + BND を使用して OSGI バンドルのセットとして構築しようとしている Vaadin アプリケーションがあります。
一部の依存関係を解決できないため、バンドルを Apache Felix にデプロイできません。Apache Felix は、バンドル "A" に必要なパッケージ XYZ が見つからないと文句を言いますが、このパッケージはこの同じバンドルで定義されています!!
Maven + BND によって生成された MANIFEST.MF ファイルを調べたところ、このバンドルのパッケージ (XYZ) が「インポート」セクションと「エクスポート」セクションの両方に追加されていることがわかりました。「輸出」の理由はわかりますが、「輸入」の理由は?? バンドルが独自のパッケージをインポートしようとするのはなぜですか?
私のMANIFEST.MF
ant - BND を使用してサードパーティの JAR を埋め込む
ANT と従来の BND ツールを使用して構築された OSGi バンドルがあります。私のバンドルは内部でライブラリ (JAR) を使用していますが、これは私の OSGi コンテナ (Apache Felix) 内のバンドルとしては利用できません。そのため、実行時にアクセスできるように、 bundle 内に埋め込もうとしています。
ANT+BND を使用してそのようなライブラリ/JAR を埋め込むにはどうすればよいですか? (注:MAVENを使用することはできません。これを使用すると、はるかに簡単になる可能性があります)
ant - BND Ant タスク - OSGi 以外の jar をラップする
bndwrap
Antタスクを使用して非 OSGi jar をディレクトリにラップしようとしています。これに対する私の現在のAnt構成は次のとおりです。
これは正常に動作しますが、問題は既存の OSGi jar もラップすることであり、これが問題を引き起こします。たとえば、Bundle-SymbolicName
ヘッダーがデフォルト値に変更されていることに気付きました。それは私が望んでいない何か他のものを変えているかもしれません。OSGi情報がまったくないjarでのみ動作させたいです。
マニフェスト内の既存の OSGi ヘッダーを無視するように BND に指示する方法、または既に OSGi 化されている完全な jar を実行する方法はありますか?
java - Spring OSGI service reference interfaces must be explicitly imported by consuming bundle?
I'm getting acquainted with Spring OSGI and Blueprint, but am having "classpath" difficulties (like many newbies).
I have two OSGI bundles - one that defines various beans (using Blueprint, not that it should matter) and exports them as services; and another bundle that references the service beans (using Spring OSGI) and plugs them into some Apache Camel routes.
The service-provider bundle's Blueprint looks something like this:
The service-consumer bundle's Spring context looks something like this:
… But upon deployment, Spring "Cannot find class [org.apache.camel.spi.DataFormat]". I can add the interface to the Import-Package section of my Bnd instructions, but it seems redundant to have to manually list the class twice in separate locations.
An alternate choice is to extend the interface within my own project so Bnd will automatically pick it up, but this is approximately as much trouble.
I guess I'm expecting Spring to lookup services by interface name without having to actually resolve the interface class. Is this naïve? Or is there a way to have Bnd automatically import interfaces in my appContext's service references? If Bnd can do this (e.g. using plugins), is there a standard way to use the Bnd plugins with the Apache Felix bundle plugin for Maven?
java - OSGi Felix と BndTools - 名前でクラスをロード
私の OSGi 環境では、さらに使用するためにデータベース ドライバーをプリロードしようとしています。通常、これは次のように実行できます。
その後、接続を作成できます。ただし、Felix の下の OSGi でそれを使用すると、クラスが見つからず ( ClassNotFoundException
)、接続を作成できないと彼は言います。しかし、私がそのようなことをすると(try-catch
は省略されます):
その後、すべてが正常に機能し、接続が作成されます。ただし、ドライバー クラスを交換できないため、これはあまりきれいではありません。
最初のメソッドでクラスをロードする方法はありますか? 正しいクラスローダーを提供する必要があると思います。しかし、どこからそれを入手できますか?
MySQL ドライバーは、OSGi ラッパー バンドルとして提供されます。
osgi - OSGI宣言サービスのバンドルマニフェストファイルにService-Componentヘッダーを追加する方法は?
コンポーネント バンドルを作成するために OSGI 宣言型サービス (SCR) を使用しています。maven-scr-plugin によって生成された注釈ベースのコンポーネント xml ファイルを使用することに熱心ではありません。component.xml を手で書いています。ただし、MANIFEST ファイルに Service-Component ヘッダーを追加する必要があります。私は maven-bundle-plugin を使用して osgi バンドルを構築していますが、そのようなヘッダーをマニフェスト ファイルに追加するプラグイン構成で指定できる指示はありますか?
いくつかの便利なリンク :
ありがとう
java - Eclipseとbndtoolsを使用してjarをOSGiバンドルに変換する方法
eclipsebndtoolsプラグインを使用してjarをOSGiバンドルに変換するためのステップバイステップガイドを探しています。コマンドラインを使用してbndでそれを行うことが可能であることは知っていますが、IDEを介して同じことを行う方法を知っておくと便利です。
何かが足りないかもしれませんが、このチュートリアルでは、プロジェクトを最初から作成する方法についてのみ説明しています。
jpa - Bndtools による JPA 拡張
一部の JPA 実装では、バイトコード拡張を使用してパフォーマンスを実現しています。私は OpenJPA と EclipseLink (代わりにウィービングと呼んでいます) に興味があります。ビルド時にそれを行う Ant タスクを提供します。Bndtools にそれを実行させることはできますか (ありそうにありません)、または既に強化された .class ファイルを与えることはできますか?
1 つの可能性は、Bnd プラグインを作成することです。そのため、他のプラグインを探しています。