OSGI バンドルで外部ライブラリを使用する方法は 2 つあります。私のパッケージだけがlib(例:google-gson)を必要とするので、(manifest.mf)に入れようとしましたBundle-ClassPath
。しかし、Knopflerfish でバンドルを実行するたびに、Exception in thread "Thread-74" [stderr] java.lang.NoClassDefFoundError: com/google/gson/Gson
.
私は OSGI を初めて使用するので、ここbuild.xml
からバンドルを作成するための指示に従って、lib も含めた for コンパイルを使用しようとしました (これが正しいかどうかはわかりません)。したがって、ライブラリは、プロジェクト クラスパス、バンドル クラスパス(manifest.mf)、およびbuild.xmlの 3 つの異なる場所に表示されます。
誰かがライブラリを機能させる方法のヒントを教えてくれたらうれしいです。前もって感謝します!