您的位置:首页 > 其它

osgi

2016-07-23 00:00 197 查看
根据OSGi规范,OSGi的类加载路径为以下:

1.java系统类库:java.*

2.OSGi框架本身要加载的类

3.bundle空间中的类:在MANIFEST.MF中引入的:import-package,Required-bundles,

本bundle中的私有类

附属片断(attached fragment)

OSGi中不提倡使用第三方包,它本身的概念就是希望所有的类都是bundle,大家的地位平等。然而,这会给我们的工作带来麻烦,因为现在的第三方包中往往会用到别的第三方包。

目前,可以想到的解决思路是:1.将所有依赖的第三方包都集成为bundle。2.想办法绕过OSGi的限制:OSGi读取框架外的类的方法。

上面内容是我在网上找到的。

我在实际项目中,一个excel导出模板jar包,因为引用了poi的jar包,在开发环境中偶尔会出现问题,但是重启一下eclipse就可以解决,有时还是不能解决。但是部署到服务器上会一直出问题。说是找不到类(Class) Class not found

后来网上找解决方法,找到了一个解决方法,就是对原来的jar包进行改造。简单来说就是修改jar包中的manifest.mf文件。添加Exprot-Package。突然觉得这种方法和seajs中的export 方法很像,一个是对java进行模块化操作,一个是对js进行模块化操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: