1

在尝试在 OSGi 上启动 Equinox 以获取 osgi 提示时,我得到了类似的错误

!SESSION 2013-07-23 12:18:46.215 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -console

    !ENTRY org.eclipse.osgi 4 0 2013-07-23 12:18:46.574
    !MESSAGE Application error
    !STACK 1
    java.lang.IllegalStateException: Unable to acquire application service. Ensure that 
    the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at   

                                                                                               org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:   74)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:152)

我的 config.ini 文件中的条目如下:

osgi.bundles=file\:org.eclipse.equinox.console_1.0.0.v20111215-1210.jar@start,       
file:\org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar@start, 
file:\org.apache.felix.gogo.shell_0.8.0.v201110170705.jar@start, 
file:\org.apache.felix.gogo.command_0.8.0.v201108120515.jar@start

谁能提出一些解决方案来克服这个错误?

4

1 回答 1

1

嗯,你为什么想要 Equinox 控制台和 gogo shell?

看来您正在使用 Equinox 启动器,并且此启动器需要存在应用程序服务,我记得这是非常特定于 Eclipse 的。如果您尝试使用 Equinox,我将不会使用此启动器。使用 bndtools 或制作自己的启动器(这很简单,请查看 Apache Felix: http: //felix.apache.org/site/apache-felix-framework-launching-and-embedding.html(这完全适用于Equinox 相同)。

一般来说,Apache Felix 的框架和包在这个级别上更容易上手。

于 2013-07-23T10:36:28.673 回答