在導出RCP時把插件打包成文件夾的形式而不是jar包
在使用RCP做項目時,最后的發布一般是用.product文件的Export wizard導出Product,但是導出的插件默認情況下都是以jar包的形式導出,而有的時候會有在項目中使用的第三方包不允許我們在導出的產品中進行發布,但可以允許用戶自己下載后進行添加,因為jar包的形式是把所有依賴的jar包也一起打包成jar,因此jar的形式就不能達到我們發布的要求。在試過了很多方法后,我們覺得如果導出的形式改成文件夾的形式是可行的。因為一般來說,發布的插件都會有一個lib文件夾存放依賴的jar,如果我們在build.properties文件中設置不把依賴的lib下jar包發布,并且以文件夾的形式發布插件,讓用戶自己下載添加到lib文件夾里,這樣就ok了。好,下面就是要說說怎么把插件以文件夾的形式進行發布:
Eclipse版本:3.3.1
JDK版本:5.0
1、
MANIFEST.MF的runtime的tab頁里的Classpath把"."這個路徑刪掉,要不然會出警告
2、
New一個liberary,隨便起個名
3、
轉到build.properties,在Runtime Infomation下把"."這個liberary刪掉,添加剛才新建的liberary
4、
手工編輯build.properties文件,把source..和output..分別改成source.(新庫名)--如source.new.jar和output.(新庫名)--如output.new.jar
最后導出時就會發現導出的插件是以文件夾的形式導出了。但是不知道原理是什么,應該是osgi的一些設置起的作用。