OSGi中的外部类/ jar

时间:2011-07-26 14:19:37

标签: jar osgi external

我的应用程序支持在许多dbms上运行,它需要用户配置dbms连接设置并提供jdbc jar文件。 现在应用程序将打包为OSGi包。将有另一个主jar,它将OSGi服务器挂起并以bundle的形式启动应用程序。 您能否建议我如何将应用程序打包为bundle并让用户提供jdbc jar文件。

是否需要像主要启动程序jar一样将JDBC驱动程序类指定为FRAMEWORK_SYSTEMPACKAGES属性?

提前致谢, 阿曼

1 个答案:

答案 0 :(得分:2)

有两种方法可以做到这一点:

1)将driver.jar添加到主启动器的类路径中,就像你说的那样,通过指定该属性(或实际上你可以使用FRAMEWORK_SYSTEMPACKAGES_EXTRA属性来指定其他包,而不是指定所有这些。)

2)手动将driver.jar包装为bundle,或者在运行时动态地执行它。例如,您可以尝试使用Pax URL或其他一些可以为您创建普通jar文件包的工具来包装复制到某个文件夹的包(类似于Apache Felix File Install所做的)(请参阅{ {3}})。