我已经安装了 Eclipse Juno Service Release 2。我正在尝试使用 Eclipse 中的 Equinox 容器来学习 OSGi。但是,当我尝试使用以下代码从命令提示符启动 Equinox 时,它不会启动。有人可以让我知道这里缺少什么吗?
java -jar org.eclipse.osgi_3.8.2.v20130124-134944.jar -console
谢谢!
从 3.5 迁移到 3.8.2 时,我遇到了同样的问题。他们改变了现在依赖于felix gogo 项目的控制台的实现。您将需要与标准 equinox 一起启动以下捆绑包:
您可以将它们添加到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
是的,我看到了同样的行为。在阅读了一些初学者教程(是的,我是初学者 :-) 在 OSGi 和 Equinox 的初学者:控制台、启动器和配置之后,我发现日志默认发送到日志文件并在标准输出中查看它们,你需要 -控制台日志参数
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。我没有尝试过,但它看起来像是您需要的解决方案。