0

bnd ツールを使用して、OSGi マニフェストの作成を自動化したいと考えています。このために、次の 2 行を含む properties.bnd ファイルを作成する必要があります。

Bundle-Activator=org.company.package.MyPluginActivator
Export-Package=org.mycompany.package #or possibly multiple packages here

自動化スクリプトは、インターフェースを実装する Java クラスを見つける必要があります。BundleActivatorこの場合はorg.company.package.MyPluginActivator. org.company.packageこの場合はパッケージ名と同様です。

理想的には、これを Ant で自動化したいのですが、以前のインストールを必要としない他の軽量でクロスプラットフォームのツールに満足しています。

ありがとう!

PS: Ant プロパティと PropertyFile タスクは知っていますが、必要な Java クラスの名前を取得する方法がわかりません。

4

3 に答える 3

4

バンドルに複数の実装がある場合はどうBundleActivatorなりますか?? バンドルのメイン エントリ ポイントとなるツールを基本的にランダムに決定するツールに本当に満足していますか??

バンドルの内容を説明する bnd ファイルの要点が抜けているように感じます。つまり、あなたが書くべきソースファイルです。

また、なぜバンドル アクティベーターを含むパッケージをエクスポートしたいのですか? このパッケージは OSGi で非公開にする必要があります。

于 2014-06-12T16:26:46.053 に答える
-1

リフレクションを使用すると、目的のインターフェイスを実装するクラス名を取得するプログラムを作成できます。

Ant Java Taskを使用してその Java プログラムを呼び出します。(別の JVM を使用してこのタスクを実行することをお勧めします。提供されたリンクで設定を見つけることができます)

最初のステップで作成したプログラムは、プロパティ ファイルへの値の書き込みにも使用できるため、プロパティ タスクは必要ありません。

さらに明確にするために私に知らせてください。

于 2014-06-12T13:46:43.277 に答える