使用OSGi自动安装几个软件包

时间:2013-06-11 07:03:05

标签: eclipse eclipse-plugin osgi p2

我正在寻找一种方法来自动将一些软件包安装到OSGi应用程序中,理想情况是通过某种批处理文件/控制台脚本,以便我们将其嵌入到构建过程中。

理想情况允许我将更新站点URL传递给控制台,并让它下载并安装它们,因为必须逐个安装罐子。

这可能吗?请注意我正在谈论的应用程序是而不是 Eclipse,尽管它在其bundles目录中包含几个Eclipse插件jar。我认为这个事实可能意味着对情况略有不同,尽管我并不完全确定。

目前我已经掌控了应用程序的OSGi控制台(p2),所以我想这将是正确使用的工具,从我读过的内容开始。

由于

1 个答案:

答案 0 :(得分:3)

有几种方法可以解决这个问题(除了使用你已经提到过的p2):

  1. 使用Apache Felix Gogo shell,它具有从URL安装捆绑包的命令,并为在启动时执行的命令创建脚本。
  2. 使用Apache Felix File Install软件包,它允许您将所有软件包放在“热部署”文件夹中并自动安装它们。
  3. 使用Apache ACE,这是一个完整的配置解决方案,允许您将工件映射到目标系统。
  4. 使用Bnd功能创建一个可嵌入OSGi框架和所有软件包的可执行jar,并在启动jar时启动它们。
  5. 使用Apache Karaf功能,允许您将URL列表定义为功能并安装该功能(使用类似于#1的shell)。
  6. 关于它们中的每一个都有很多话要说,但这些是我所知道的最常用的选项。