2

我正在寻找一种将几个捆绑包自动安装到 OSGi 应用程序中的方法,最好是通过某种批处理文件/控制台脚本,以便我们将其嵌入到我们的构建过程中。

理想的情况是让我只需将更新站点 URL 传递到控制台并让它下载并安装它们,因为这样就不必一一安装 jar。

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

目前我控制着应用程序的 OSGi 控制台 (p2),所以我想根据我的阅读,这将是正确的工具。

谢谢

4

1 回答 1

4

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

  1. 使用 Apache Felix Gogo shell,它具有从 URL 安装包的命令,并为启动时执行的脚本创建脚本。
  2. 使用 Apache Felix 文件安装包,它允许您将所有包放在“热部署”文件夹中并自动安装它们。
  3. 使用 Apache ACE,它是一个成熟的供应解决方案,允许您将工件映射到目标系统。
  4. 使用 Bnd 功能创建一个嵌入 OSGi 框架和所有包的可执行 jar,并在您启动 jar 时启动它们。
  5. 使用 Apache Karaf 特性,它允许您将 URL 列表定义为特性并安装该特性(使用类似于 #1 的 shell)。

关于它们每个都有很多要说的,但这些是我所知道的最常用的选项。

于 2013-06-11T07:32:36.920 回答