Tycho を使用して Eclipse プラグインを構築しており、OSGi サービスに Declarative Services を利用しています。Eclipse には DS ファイル用の優れたエディターがありますが、それでも手動プロセスであるため、時間がかかり、エラーが発生しやすくなります。
Tycho OSGi 以外のプロジェクトでは、 を使用しmaven-scr-plugin
てこれらの注釈を生成できます。Tycho の問題点は、org.apache.felix.annotations
jarへの参照を追加できないことです。
- p2 リポジトリに存在しない
- バンドルではありません
これらの注釈は で定義されるRetentionPolicy = CLASS
ため、バンドルに含める必要はありません。
pom-first artifacts への依存については知っていますが、アノテーション jar はバンドルではないため、うまくいきません。理想的には、コンパイル時に追加の jar を探すように Tycho/Eclipse を構成するだけで済みます。
Tycho と Eclipse で考慮されるコンパイル時のみの jar を取得するにはどうすればよいですか?
更新extraClasspathElements
: のオプションを使用しようとしましたtycho-compiler-plugin
。これにより、を呼び出すことができます(現在の pom.xmlmaven-scr-plugin
を参照してください)。ただし、ビルドが失敗するため、scrプラグインはクラスにアクセスできないようです
[エラー] プロジェクト org.apache.sling.ide.eclipse-core: /mnt/md/ でゴール org.apache.felix:maven-scr-plugin:1.13.0:scr (generate-scr-descriptor) を実行できませんでしたrobert/git/sling-ide-tools/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java : コンパイル済みクラスを読み込めません: org.apache.sling.ide.eclipse.core。 ServerUtil
完全なビルド ログも表示できます