在导出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的一些设置起的作用。