1. 程式人生 > >osgi中bundle相關研究

osgi中bundle相關研究

其實,都是和傳統的jar一樣,也是packages+META-INF檔案。區別僅在於META-INF中的配置資訊。bundle比傳統的jar多了import packages和export packages等。當然,就是因為如此,所以開發和打包也就不一樣了。

eclipse本身就是基於equinox,而我的java ide就是用eclipse。通過eclipse建立plugin-project。就可以建立外掛工程,通過export匯出為可部署的bundle即可。

對於第三方的jar,就相對新建的較為麻煩。

其一就是使用eclipse new選單,新建一個plugin-in development下的plugin-in from Existing JAR Archives。這種情況下就需要自己除錯import packages和export packages,比較麻煩,需要反覆除錯。

其二就是使用maven-jar-plugin,但是也是要自己來弄META-INF檔案。

其三,使用maven-bundle-plugin和maven-pax-plugin管理整個工程的新建,打包,部署等。

除了第2種我沒嘗試(和第1種很類似了),其他兩種都試過。感覺還是第三種比較好,我現在也是用第三種來管理工程,集成了maven優勢。