maven-scr-pluginを使用してコンポーネントとメタタイプの説明を生成しています。 org.apache.felix.scrアノテーションからorg.osgi.service.componentアノテーションに移行しています。maven-scr-pluginとOSGI R6アノテーションでメタタイプの説明を生成
Carsten Ziegelerは、この移行方法について優れたブログを書いていますhere。ただし、コンポーネント注釈から直接生成されたメタタイプ記述をどのように持つかについては説明していません。代わりに、私はすべてのコンポーネントのために別々の設定@interfaceを作成し、すべてのコンポーネントアクティベータを書き直さなければなりません(少なくとも、追加の@interfaceクラスの付加価値を利用するために)。
osciアノテーションを処理するのにまだmaven-scr-pluginを使用して、org.apache.felix.scr.ds-annotations
に依存関係を追加することができます。ただし、maven-scr-pluginは明示的にオンになっている場合にのみメタタイプ情報を出力します。 felixアノテーションを使用すると、メタタイプの生成を有効にするために、アノテーションの専用パラメータmetatype=true
を使用できます。ただし、このようなパラメータは、OSGiバージョンの@Component
注釈では使用できません。
maven-scr-pluginにメタタイプの記述を強制的に作成させる方法はありますか、またはmaven-bundle-plugin(またはbndtools)でosgi @Componentアノテーションに基づいてメタタイプのデータを生成することはできますかコンポーネントごとに専用の構成クラスを定義する必要がありますか?
はい、私は理解しましたが、これは問題なく動作します。しかし、これを正しく行うには、あなたの例に示すように、すべてのアクティベータを変更する必要があります(私はそれを行うことはできますが、クラスには未使用の定型コードがたくさん残っています)。私はあなたの答えが私が探しているアプローチをサポートしていないことを確認することができますか?そのソリューションパスを除外し、maven-scr-pluginを可能な解決策として残しておきます。 –
上記のコードは、OSGiが標準化したものを示しています... –