其实,都是和传统的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优势。