2017-05-19 3 views
1

OSGiのコンポーネントとサービスを宣言する際にOSGi R6を使用して調べています。 サービスのインスタンスを取得するには、我々は通常、以下のように、@Referenceを使用したい:@Referenceを使用してmavenビルドでサービス結果を取得する警告

@Reference 
PicklistService picklistService; 

それはR6にR5から変更を行うために些細に見える - 私はちょうどorg.apache.felix.scr.annotations.Referenceからorg.osgi.service.component.annotations.Referenceにimport文を切り替えます。

[WARNING] Javadoc Warnings 
[WARNING] C:\myapp\core\src\main\java\com\app\service\ServiceImpl.java:50: error: annotation type not applicable to this kind of declaration 
[WARNING] @Reference 
[WARNING]^

機能はI 午前は私が必要とするサービスへの参照を取得することを意味している、しかし作品:

唯一の問題は、Mavenのビルド時に、それは警告を発することです。私はそれで生きることができた。もちろん、このような警告を最小限に抑えたいと思うでしょう。何かご意見は?

答えて

3

OSGi概説仕様のJARバージョン6を使用していることを確認してください。 バージョン5では、R6のメソッドで@Referenceだけを使用できました。これはフィールドでも許可されています。

+0

Ohhhh!ありがとうございました!!その部分は明らかではありませんでした! 'org.osgi.service.component.annotations'(バージョン1.3.0)というアノテーションを含めて私の見解を設定しましたが、私のpomファイルに' osgi.cmpn'バージョン6.0.0を含めるのを忘れました! 新しい注釈を使用し始めたときに私のIDEが不平を言ってくれなかったので気づかなかった。これありがとう。 :D – ionmarx

関連する問題