1

Eclipse 内のコンポーネント宣言に iPojo アノテーションを使用しようとしています。問題は、XML および変更されたクラスを生成しているときに、bnd-ipojo-plugin がプラグインのクラスパスで注釈を見つけられないことです。

Eclipse で次のようなエラーが発生します。

During generation of a component on class org.osgi.example.Application, exception java.lang.ClassNotFoundException: org.apache.felix.ipojo.annotations.Bind

「-plugins」プロパティを含むように .bnd ファイルを変更しました。

-plugin: org.apache.felix.ipojo.bnd.PojoizationPlugin;use-local-schemas=true;path:="${workspace}/cnf/plugins/org.apache.felix.ipojo-1.10.1.jar;${workspace}/cnf/plugins/org.apache.felix.ipojo.annotations-1.10.1.jar;${workspace}/cnf/plugins/bnd-ipojo-plugin-1.10.1.jar;${workspace}/cnf/plugins/org.apache.felix.ipojo.manipulator-1.10.1.jar"

私の Eclipse プロジェクトには、BuildPath にもすべての iPojo jar があります。誰か提案はありますか?または、iPojo を Eclipse に統合するためのより良い方法はありますか?

編集 1

ワークスペースを完全に再構築し、変数-plugin-pluginpath変数を build.bnd ファイルに移動しました。

これは次のようになります。

-pluginpath: ${plugindir}/biz.aQute.repository/biz.aQute.repository-2.1.0.jar,\
    ${plugindir}/bnd-ipojo-plugin/bnd-ipojo-plugin-1.10.1.jar, \
    ${plugindir}/org.apache.felix.ipojo/org.apache.felix.ipojo-1.10.1.jar, \
    ${plugindir}/org.apache.felix.ipojo.annotations/org.apache.felix.ipojo.annotations-1.10.1.jar, \
    ${plugindir}/org.apache.felix.ipojo.manipulator/org.apache.felix.ipojo.manipulator-1.10.1.jar

-plugin: aQute.bnd.deployer.repository.LocalIndexedRepo;name=Release;local=${workspace}/cnf/releaserepo;pretty=true,\
    aQute.bnd.deployer.repository.LocalIndexedRepo;name=Local;local=${workspace}/cnf/localrepo;pretty=true,\
    aQute.bnd.deployer.repository.FixedIndexedRepo;name=Bndtools Hub;locations=https://github.com/bndtools/bundle-hub/raw/master/index.xml.gz,\
    aQute.lib.deployer.FileRepo;name=Build;location=${workspace}/cnf/buildrepo,\
    aQute.lib.deployer.FileRepo;readonly=true;name=iPojo Repo;location=${plugindir}, \
    org.apache.felix.ipojo.bnd.PojoizationPlugin;use-local-schemas=true

これで、すべてのエラーがなくなり、失敗することなくビルドされます。ただし、XML ファイルはまだ生成されていません。build.bnd ファイルを変更する以外に別の手順はありますか?

4

2 に答える 2

-1

iPojo 経由で BndTools SCR アノテーションに切り替えました。私は iPojo アノテーションの表現力が好きでしたが、SCR アノテーションも同じくらい楽しいものでした。これらは BndTools に組み込まれているため、期待どおりに機能します。仕様 (pg. 187)は、それらを正しく使用していることを確認するのに非常に役立ちました (つまり、プロパティとプロパティ)。

于 2013-09-10T03:13:37.630 に答える