1

これは私にとって奇妙な状況です。OSGIを使用した大規模なプロジェクトがあり、バンドルの1つを変更しています。コードの一部を更新してXMLを読み取ろうとすると、バンドルがロードを拒否することを除いて、ほとんどの変更は正常に機能します。バンドルにjoglバージョン0.0.0の制約がないことを示すエラーメッセージが表示されます。My BundleはJOGLを直接使用しませんが、依存しているバンドルはJOGを使用します。他のすべてのJOGL依存バンドルをロードするのに十分なjogl_1.1.1バンドルがインストールされています。

コードの一部をコメントアウトしてテストしたところ、適切なクラスをすべてインポートできることがわかりましたが、DocumentBuilderFactoryを使用してXMLを解析しようとすると、JOGLバンドルがないという苦情が寄せられます。これは、決して呼び出されないメソッドにDocumentBuilderFactoryを追加した場合でも発生します。XML-APISjarがクラスパスにあることを確認したにもかかわらず発生します。

XML解析をJOGLに接続する方法に完全に迷っています。0.0.0のバンドルバージョンも有効ですか?ここからどこに行けばいいのかわからないので、この動作の原因や対処方法についての提案をいただければ幸いです。

ありがとう

4

1 に答える 1

0

言及されたコメントのように、それをインポートしようとしているのか、それともClassNotFoundを取得しているのかを知ることは役に立ちます。

インポートしようとして失敗した場合、BNDがコードを分析するときに少し混乱している可能性があります。その場合は、マニフェストでインポートを明示的に宣言することをお勧めします。(少なくとも、問題についてさらに学習するための一時的な修正として)。

それがClassNotFoundの場合、それは非常に奇妙です。JOGLがDocumentBuilderFactoryを使用していることに気づきました。私は荒野に入り始めていますが、JOGLがDocumentBuilderFactoryのロード/実装に悪いことをしていて、複数のバンドルで問題を引き起こしている可能性があります。

最後に、DocumentBuilderFactoryを呼び出す1つのクラスを持つダミーバンドルを作成して、同じ問題があるかどうかを確認してみましたか?

于 2011-07-04T04:16:49.600 に答える