33.4 多个插件共享jar包
可以专门创建一个插件,该插件的lib目录包含所有本系统共用的jar包,然后其他插件再依赖这个插件。对于SMS项目,可以选择sms-core这个基础项目来存放系统共用的jar包,因为正好其他插件都要依赖sms-core。当然专门创建一个不包含源代码,只包含系统共用jar包的插件,也未尝不可。
在SMS这个RCP项目的lib目录中有一个mysql-connector-java-5.0.4-bin.jar包,那么myplugin依赖sms后,能否使用这个包中的类呢?答案是暂时还不能,还需要再设置一下,如图33.2所示,单击“添加”按钮后可以将mysql-connector-java-5.0.4-bin.jar中希望公布的包加入到“已导出的包”列表(可以同时选择多个包批量添加)中。
Eclipse中有一种特殊的插件,这种插件是对某一个jar包的单纯包装。比如JUnit,它原来是一个标准的jar包,后来该jar包在Eclipse中被包装成了插件,成为JUnit插件。过去对JUnit包的依赖转变成了对JUnit插件的依赖,利用Eclipse的插件依赖管理机制,避免了一个插件包含一个JUnit包。把jar包装成插件的方法很简单,其实就是上一段所讲方法的退化:创建一个插件,这个插件没有任何源代码,它内含一个jar包,然后在清单编辑器将该jar文件的所有包加入到“已导出的包”列表中。
图书导读






