将第三方jar包装成插件需要注意的问题

来源:互联网 发布:朗读软件 编辑:程序博客网 时间:2024/06/12 01:15

昨天和今天打算把RCP中插件与插件之间的依赖关系总结一下。

步骤:

包装了一个jdom插件。在宿主插件中添加了jdom插件的依赖。

但在宿主插件中无法将它引入。

试了好几次都没成功。

后来抱着试试的想法,加入了一个luence包,当然在runtime中进行了相应的设置:先在runtime选项卡的"Classpath"处将luence添加进去,

然后在Exported Packages处导出所有包。

重新尝试在宿主插件引入luence包,可以,注意,是只可以使用luence包,jodm包仍不能引入。

于是我将之前添加的jdom在runtime选项卡中删除,再重新弄一次,发现也可以导入。

 

思考中。

难道之前中哪里出过错?又或者这真是一个诡异的问题,或者说是eclipse3.4的一个bug?

 

还是再试一次吧。

于是再次利用插件包装了一个db4的第三方类库。

这次的方式是这样的:将db4.jar拷贝至插件工程根目录下,先在runtime选项卡的"Classpath"处将luence添加进去,然后在Exported Packages处导出所有包。

再一次在宿主插件中访问db4类库,可以。

 

想起来了。我之前的做法是这样的:

将jdom.jar拷贝至插件工程根目录下,将db4.jar添加到工程构建路径中,先在runtime选项卡的"Classpath"处将jdom添加进去,然后在Exporte Packages处导出所有包。

也就是说,和上面的相比,多了一个步骤:将db4.jar添加到工程构建路径中。

有没有可能是多了这样一个步骤?这样一个步骤应该很正常啊?又有没有可能是jdom本身的一个bug。或者id冲突,要知道id在eclipse框架中是非常重要的。

ok。再来一次。

再包装一个jdom插件。步骤如下:

将jdom.jar拷贝至插件工程根目录下,将db4.jar添加到工程构建路径中,先在runtime选项卡的"Classpath"处将jdom.jar添加进去,然后在Exporte Packages处导出所有包。

可以引入。

 

之后又做了一番实验,将需要包装的第三方类库放到工程目录下的lib文件夹下,步骤如下:

先在runtime选项卡的"Classpath"处将jdom添加进去,然后在Exporte Packages处导出所有包。可以。

 

重复一开始加入jdom无法引入的方式:将lib中的jar包加入构建路径,在runtime选项卡的"Classpath"处将jdom添加进去,然后在Exporte Packages处导出所有包。在宿主插件中无法引入。

 

以上可以总结为:如果要将第三方类库包装成一个插件,可以将第三方类库放到工程根目录下或者在其中建一个文件夹,比如lib。然后在runtime选项卡的"Classpath"处将相应的类库添加进去,同时在Exporte Packages处导出所有包。并不需要将jar加入项目构建路径。需要说明的是:如果在一开始就做了将类库添加到工程构建路径的话,将会出现在宿主插件中无法引用的错误。

原创粉丝点击