Equinox start error (console bundle is missed)

与世无争的帅哥 提交于 2019-11-26 20:43:50

问题


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)

回答1:


  • Go to META-INF/MANIFEST.MF

  • Right click Run As/Run Configuration/RAP Application/(Select entry point under this tree node)

  • Select Tab Bundles/

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

  • Click Add requered Bundles

  • Click Validate Bundles ==> No Problem was detected

  • Apply.

Now run ok.




回答2:


Console functionality was removed from Equinox system bundle. Now it should be installed explicitly (felix gogo console).

Download Equinox SDK and copy such files to your equinox plugin folder:

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

update your config.ini in configuration folder and add such substring to property osgi.bundles

reference:file:org.eclipse.equinox.console_1.0.0.v20111215-1210.jar@4,reference:file:org.apache.felix.gogo.shell_0.8.0.v201110170705.jar@4,reference:file:org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar@4,reference:file:org.apache.felix.gogo.command_0.8.0.v201108120515.jar@4,




回答3:


This link provides all the details regarding the new console which is based on Apache Felix Gogo shell: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fconsole_shell.htm

In short steps are:

  1. Place the necessary bundles in a folder. The bundles are:

    • 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. Create a configuration subfolder put a new config.ini file in it with the following content:

    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. Start the Equinox framework with this command:

    java -jar org.eclipse.osgi.jar
    



回答4:


In the above config.ini osgi.console.enable.builtin=false must NOT be on the same line with the osgi.bundles property. The official documentation seems to have this wrong too.

My config.ini looks like:

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



回答5:


Necessary bundles are missing. Add them in run as->run configurations->osgi framework->bundles Add following bundles along with your own bundles and delete others: 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

then click apply and run.



来源:https://stackoverflow.com/questions/9905607/equinox-start-error-console-bundle-is-missed

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!