在eclipse中无法启动osgi容器(equinox)

时间:2013-05-09 02:23:51

标签: java eclipse osgi

我已经安装了Eclipse Juno Service Release 2.我正在尝试使用eclipse中的Equinox容器学习OSGi。但是,当我尝试使用以下代码从命令提示符启动Equinox时,它无法启动。有人可以告诉我这里缺少什么吗?

java -jar org.eclipse.osgi_3.8.2.v20130124-134944.jar -console

谢谢!

2 个答案:

答案 0 :(得分:3)

我从3.5到3.8.2时遇到了同样的问题。他们改变了控制台的实现,现在依赖于felix gogo project。 您需要启动以下捆绑包以及标准的equinox:

  1. org.eclipse.equinox.console_1.0.100.v20121001-124408.jar
  2. org.apache.felix.gogo.shell_0.10.0.v201211091412.jar
  3. org.apache.felix.gogo.runtime_0.10.0.v201209301036.jar
  4. org.apache.felix.gogo.command_0.10.0.v201209301215.jar
  5. 您可以将它们添加到捆绑包列表中,默认情况下在config.ini文件中启动,如下所示:

    #contents of config.ini
    osgi.bundles=org.eclipse.equinox.console_1.0.100.v20121001-124408.jar@start,org.apache.felix.gogo.shell_0.10.0.v201211091412.jar@start,org.apache.felix.gogo.runtime_0.10.0.v201209301036.jar@start,org.apache.felix.gogo.command_0.10.0.v201209301215.jar@start
    

    您的目录结构应为

    - org.eclipse.osgi_3.8.2.v20130124-134944.jar
    - configuration/
                 config.ini
    

答案 1 :(得分:1)

是的,我看到了同样的行为。阅读了一些初学者教程(是的,我是初学者:-) at OSGi with Equinox for beginners: console, launcher and configuration我发现默认情况下会将日志发送到日志文件,要在stdout中查看它们,您需要-consoleLog参数

java -jar org.eclipse.osgi_3.8.2.v20130124-134944.jar -console -consoleLog

然后告诉我消息

org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console

我用谷歌搜索了导致我到这里的地方:org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console。我没试过,但它看起来像你需要的解决方案。