最近因为工作需要,使用了osgi技术。其实一开始是抗拒的,因为这技术网上的资源比较少,而且基本上也是12年,13年这样子。如果现在比较流行的话,我应该会知道点的。但还是被这个技术的一些特性给吸引了。比如热部署,模块化等。
不过在工作中也遇到一些问题,比如在eclipse中是可以跑起来的,但是部署到服务器中就会出现一些问题。比如类找不到,比如404错误。
比较好的方法就是自己在本地环境中部署起来。但是,没有接触过部署osgi,依稀记得服务器中是在deploy文件夹下实现热部署的。于是上网搜索关键词“osgi 部署,osgi deploy”,等组合。
发现部署有几种方法,一种是用apache felix 这种部署时有deploy目录的,一种是Equinox 有(IBM)做背书,还有一种是Virgo 。关于集成的方法也有两种,一种是在osgi中集成web容器,一种是在容器中集成osgi。
还有apache servicemix。
不过我今天要说的并不是上面的其中一种,主角是 apache karaf。我想公司上的服务器运行的也是这个。