Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Equinox start error (console bundle is missed)

Tags:

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)
like image 223
boredmgr Avatar asked Mar 28 '12 10:03

boredmgr


4 Answers

  • 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.

like image 174
searching9x Avatar answered Dec 30 '22 17:12

searching9x


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,

like image 40
Dmytro Pishchukhin Avatar answered Dec 30 '22 17:12

Dmytro Pishchukhin


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
    
like image 29
Exploring Avatar answered Dec 30 '22 16:12

Exploring


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
like image 23
Gregor Avatar answered Dec 30 '22 16:12

Gregor