spring osgi 依赖奇怪问题

lyos 发布于 2011/11/25 11:42
阅读 819
收藏 0
你好 @bitty_ant

看到你的一个帖子“spring osgi 依赖奇怪问题,大家有没遇到过?” 。我也遇到了同样的问题。我的工程是也是通过maven工程构建的,工程需要的jar包通过pom文件都已经获得,在非osgi模式下一一切都是正常。当我使用spring osgi后,运行的时候就会出现找不到类的错误。我通过两种方式来解决:

1.新建一个插件项目A,将第三方包放到A工程,并导出所有包,然后让其他osgi项目引用A.

2.直接将第三方包放到当前osgi项目,在runtime选项卡中添加第三方包。

结果:

1.有些类的确是可以被导入。

2.也有些例外,比如和Hibernate,ehcache整合,一直报找不到与Hibernate或ehcache相关的类。

其他:

以前我在做RCP的插件开发的时候也遇到过类似的类加载和Hibernate整合的问题,也有相关的经验,RCP下一般直接依赖插件,很少会通过import 包路径的方式导入其他插件的类,但是在spring osgi的开发中,却有很多问题。

请教是什么原因引起的。望回复,感谢。

加载中
0
浪客Dandy
浪客Dandy

OSGi需要jar有特定的manifest,你首先要看你放到OSGi环境里的包是否符合OSGi标准。

OSGi框架应该都带命令lb (list bundle),可以查看所有jar(bundle)的状态。

你自己的代码,必须通过maven-bundle-plugin或者其他方式添加OSGi的Manifest

返回顶部
顶部