我知道在OSGI包中使用外部庫有兩種方法。由於只有我的軟件包需要lib(例如google-gson),我試圖將它放在Bundle-ClassPath
(manifest.mf)中。但是每當我在Knopflerfish中運行這個包時,我都會得到Exception in thread "Thread-74" [stderr] java.lang.NoClassDefFoundError: com/google/gson/Gson
。Knopflerfish,在包中使用外部庫
因爲我是OSGI的新手,我試圖按照說明從here創建一個包,使用build.xml
進行編譯,其中我還包括lib(不知道這是否正確)。所以庫出現在三個不同的地方,項目類路徑,捆綁類路徑(manifest.mf)和build.xml。
如果有人能給我提示如何讓圖書館工作,我會很高興。提前致謝!
最後我選擇了第二種方法,並從google-gson創建了一個OSGI包。所以我不需要關心將圖書館納入我的包中。其他一切都不起作用:( – nyyrikki 2013-02-26 13:43:29