ClassLoaderの問題が発生しています。私はかなりosgiの初心者なので、うまくいけば答えはそれほど難しくありません:)
コンパイルライブラリとランタイムライブラリに関係していると思います。 Netbeans 6.7.1プロジェクトのプロパティでは、コンパイル時のライブラリは常に他のカテゴリに伝播されるため、そこで区別することはできません。
FelixHostをコンパイルするとき、次のjarファイルが使用されます
- Felix.jar
- osgi-core.jar
- osgi-compendium.jar
- osgi.service.obr-1.0.2.jar
ただし、実行時に、フレームワークはOBRの実装をロードします。このOBRバンドルには、インターフェイス定義も含まれています。これがclassCastExceptionがある理由だと思います。
実際、FelixHostをOBRと連携させて、初期プロビジョニングを実行したいと考えています。
どんなアイデアでも大歓迎です。