5

我正在尝试从 Eclipse Juno Release 获取 osgi 服务器并独立运行它。一些旧教程说,只需抓住org.eclipse.osgi_VERSION.jar就足以从命令行启动它

java -jar  org.eclipse.osgi_VERSION.jar -console

当我尝试这样做时,它没有按预期显示提示,而是静静地坐着,好像在等待某事发生。

但是,我可以通过执行 来轻松地启动和安装包 ./eclipse -console,这显然不是在服务器上运行时的选项,我想在运行时部署包。

一些谷歌搜索显示我需要从这里和那里收集罐子(甚至是 Apache Felix 的 gogo),但找不到任何具体的东西可以让我以“无头”方式运行这个东西。

有没有办法以一种干净简单的方式做到这一点,或者你会建议转向 Apache Felix?

4

5 回答 5

12

Juno 中的 Equinox 不再包含开箱即用的控制台。它现在包含在一个单独的包中,该包在 Apache GoGo shell 之上实现了 Equinox 控制台。

因此,用于运行 Equinox(包括控制台)的最小捆绑包设置为:

  • org.eclipse.osgi
  • org.eclipse.equinox.console
  • org.apache.felifx.gogo.command
  • org.apache.felifx.gogo.runtime
  • org.apache.felifx.gogo.shell

要运行 SSH 控制台,还需要:

  • org.eclipse.equinox.console.ssh
  • org.apache.mina.core
  • org.apache.sshd.core

此外,您需要使用不同的配置区域。Equinox 从 config.ini 读取设置(例如要使用的包、它们的启动级别、要启动的应用程序等)。因此,只要您使用与 Juno 相同的配置区域,您将始终处于 Juno 环境中。直接修改 config.ini 时,您可能会损坏 Juno 安装。

更好的开始是下载 Equinox Juno OSGi 入门套件:

您还可以尝试其中一种 OSGi Equinox 服务器发行版:

于 2012-08-06T06:44:39.140 回答
1

试试这个:

java -classpath ./plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    org.eclipse.equinox.launcher.Main -console
于 2012-08-05T17:46:47.753 回答
1

你应该试试 Apache karaf。它可以与 Felix 或 Equinox 一起运行,并包含您所需的一切,以获得一个像样的 OSGi 服务器。见http://karaf.apache.org/

于 2012-08-06T07:09:47.133 回答
0

此链接提供有关基于 Apache Felix Gogo shell 的新控制台的所有详细信息:http ://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide% 2Fconsole_shell.htm

简短的步骤是:

  1. 将必要的捆绑包放在一个文件夹中。捆绑包是:org.apache.felix.gogo.command_0.8.0v.jar org.apache.felix.gogo.runtime_0.8.0v.jar org.apache.felix.gogo.shell_0.8.0v.jar org.eclipse。 equinox.console_1.0.0v.jar org.eclipse.osgi.jar

  2. 创建配置子文件夹和 config.ini 文件,内容如下

    osgi.bundles=./org.apache.felix.gogo.runtime_0.8.0v.jar@start,\./org.apache.felix.gogo.command_0.8.0v.jar@start,\./org.apache。 felix.gogo.shell_0.8.0v.jar@start,\./org.eclipse.equinox.console.jar@start,\osgi.console.enable.builtin=false

  3. 使用以下命令启动 Equinox 框架:java -jar org.eclipse.osgi.jar

于 2013-04-02T12:54:53.410 回答
0

要使用旧控制台运行,您可以调用:

java -Dosgi.console.enable.builtin=true -jar org.eclipse.osgi_VERSION.jar -console

请注意,这是使用旧的(非 Gogo 实现),并且内置控制台可能会在某个时候被删除。但是,您应该考虑使用 Gogo shell 运行,这是未来 Eclipse 和 Felix 版本的事实标准。

于 2013-11-26T19:54:03.737 回答