Equinox启动错误(错过控制台捆绑)

时间:2012-03-28 10:27:45

标签: osgi equinox

java.version=1.6.0_10
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
 Command-line arguments:  -console -configuration runtime

ENTRY org.eclipse.osgi 4 0 2012-03-28 15:50:09.721
 !MESSAGE Could not find bundle: org.eclipse.equinox.console
!STACK 0`enter code here`
org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console
at          org.eclipse.osgi.framework.internal.core.ConsoleManager.checkForConsoleBundle(ConsoleManager.java:211)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:297)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:151)

!ENTRY org.eclipse.osgi 4 0 2012-03-28 15:50:09.737
!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:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:151)

5 个答案:

答案 0 :(得分:17)

  • 转到META-INF/MANIFEST.MF

  • 右键点击Run As/Run Configuration/RAP Application/(Select entry point under this tree node)

  • 选择Tab Bundles/

  • 检查org.apache.felix.gogo.command , org.apache.felix.gogo.runtime , org.apache.felix.gogo.shell , org.eclipse.equinox.console

  • 点击添加已重新加入的套件

  • 点击验证套件==> No Problem was detected

  • 应用。

现在运行正常。

答案 1 :(得分:8)

从Equinox系统捆绑包中删除了控制台功能。现在应该明确安装(felix gogo console)。

下载Equinox SDK并将此类文件复制到您的equinox插件文件夹:

  

org.apache.felix.gogo.command_0.8.0.v201108120515.jar   org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar   org.apache.felix.gogo.shell_0.8.0.v201110170705.jar   org.eclipse.equinox.console_1.0.0.v20111215-1210.jar

更新配置文件夹中的config.ini并将此子字符串添加到属性osgi.bundles

  

参考:文件:org.eclipse.equinox.console_1.0.0.v20111215-1210.jar @ 4中,参考:文件:org.apache.felix.gogo.shell_0.8.0.v201110170705.jar @ 4中,参考:文件:org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar @ 4中,参考:文件:org.apache.felix.gogo.command_0.8.0.v201108120515.jar@4,

答案 2 :(得分:3)

此链接提供有关基于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<version>.jar
    • org.apache.felix.gogo.runtime_0.8.0v<version>.jar
    • org.apache.felix.gogo.shell_0.8.0v<version>.jar
    • org.eclipse.equinox.console_1.0.0v<version>.jar
    • org.eclipse.osgi.jar
  2. 创建一个configuration子文件夹,在其中放入一个新的config.ini文件,其中包含以下内容:

    osgi.bundles=./org.apache.felix.gogo.runtime_0.8.0v<version>.jar@start,\
    ./org.apache.felix.gogo.command_0.8.0v<version>.jar@start,\
    ./org.apache.felix.gogo.shell_0.8.0v<version>.jar@start,\
    ./org.eclipse.equinox.console.jar@start,\
    osgi.console.enable.builtin=false
    osgi.console=<port> 
    
  3. 使用以下命令启动Equinox框架:

    java -jar org.eclipse.osgi.jar
    

答案 3 :(得分:2)

上述config.ini osgi.console.enable.builtin=false不得与osgi.bundles属性位于同一行。官方文件似乎也有这个错误。

我的config.ini看起来像是:

osgi.bundles=./org.apache.felix.gogo.runtime_0.10.0.v201209301036.jar@start,\
./org.apache.felix.gogo.command_0.10.0.v201209301215.jar@start,\
./org.apache.felix.gogo.shell_0.10.0.v201212101605.jar@start,\
./org.eclipse.equinox.console.jar@start
osgi.console.enable.builtin=false
osgi.console=4711

答案 4 :(得分:0)

缺少必要的捆绑包。 在run as-&gt; run configurations-&gt; osgi framework-&gt; bundles中添加它们 添加以下捆绑包以及您自己的捆绑包并删除其他捆绑包: org.apache.felix.gogo.command_0.8.0.v201108120515.jar

org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar

org.apache.felix.gogo.shell_0.8.0.v201110170705.jar

org.eclipse.equinox.console_1.0.0.v20111215-1210.jar

然后单击“应用并运行”。