16

I'm trying to start an OSGi console in Windows 7.

I used this statement on a terminal window:

java -jar org.eclipse.osgi.jar -console

But it doesn't work that is nothing does happen nor doesn't appear prompt osgi>. And typing on keyboard is ineffective except for ^C that makes to reappear usual terminal prompt.

Anyone has any suggestion?

Lii
  • 11,553
  • 8
  • 64
  • 88
Andrea Scarpa
  • 161
  • 1
  • 1
  • 6
  • Possible duplicate of [OSGi console not shown in command line](https://stackoverflow.com/questions/19079830/osgi-console-not-shown-in-command-line) – Frédéric Jan 22 '19 at 14:59

3 Answers3

21

Starting from Equinox 3.8.0.M4, it has a new console. So you need also these four bundles for it to run properly.

  1. org.eclipse.equinox.console.jar
  2. org.apache.felix.gogo.shell.jar
  3. org.apache.felix.gogo.command.jar
  4. org.apache.felix.gogo.runtime.jar

These jar files can be found in your Eclipse installation folder under 'plugins' folder. Copy these jars and put them in the same folder with your org.eclipse.osgi.jar and it would look like:

  • somedir/
    • configuration/
      • config.ini
    • org.eclipse.osgi.jar
    • org.eclipse.equinox.console.jar
    • org.apache.felix.gogo.shell.jar
    • org.apache.felix.gogo.command.jar
    • org.apache.felix.gogo.runtime.jar

Then edit config.ini as:

osgi.bundles=org.apache.felix.gogo.runtime@start, org.apache.felix.gogo.command@start, org.apache.felix.gogo.shell@start, org.eclipse.equinox.console@start

After doing this, run java -jar org.eclipse.osgi.jar -console in your command line and the OSGi console will start.

Reference Bug 371101

UPDATE 06/2022:

the list of required bundles got longer in the meantime:

osgi.bundles= \
    org.apache.felix.gogo.runtime_1.1.4.v20210111-1007.jar@start, \
    org.apache.felix.gogo.command_1.1.2.v20210111-1007.jar@start, \
    org.apache.felix.gogo.shell_1.1.4.v20210111-1007.jar@start, \
    org.eclipse.equinox.console_1.4.500.v20211021-1418.jar@start, \
    org.eclipse.osgi.services_3.10.200.v20210723-0643.jar@start, \
    org.osgi.util.function_1.2.0.202109301733.jar@start, \
    org.osgi.util.promise_1.2.0.202109301733.jar@start, \

Note that you can reference the org.eclipse.osgi directly in the plugin folder. And if you do so, your configuration folder is in the plugins folder!

java -jar plugins\org.eclipse.osgi_3.18.0.v20220516-2155.jar -console
bebbo
  • 2,830
  • 1
  • 32
  • 37
lkq
  • 2,326
  • 1
  • 12
  • 22
  • 1
    Just tried this with equinox 4.10. I copied everything into a new folder and renamed the jar files (stripped away version), and it worked. Thanks. – Lars Juel Jensen Feb 08 '19 at 09:25
5

The equinox built-in console is deprecated and disabled since version 3.8. If you use a newer version, you should use the osgi.console.enable.builtin=true property. See http://hwellmann.blogspot.hu/2012/08/new-osgi-console-in-equinox-380.html.

You can set these properties as system properties. Your command will be:

java -Dosgi.noshutdown=true -Dosgi.console.enable.builtin=true -jar org.eclipse.osgi.jar -console

This worked for me with 3.8. I have just tried it with 3.10 but it does not work. I guess the builtin console is removed completely.

You should use the gogo console that has become a de-facto standard. You can find information about it at the link above.

Balazs Zsoldos
  • 6,036
  • 2
  • 23
  • 31
0

You can also change the directory where the eclipse plugins reside and issue a command similar to:

java -Dosgi.bundles=.\org.apache.felix.gogo.shell_1.1.0.v20180713-1646.jar@start,.\org.apache.felix.gogo.command_1.0.2.v20170914-1324.jar@start,.\org.apache.felix.gogo.runtime_1.1.0.v20180713-1646.jar@start,.\org.eclipse.equinox.console_1.3.100.v20180827-1235.jar@start -jar org.eclipse.osgi_3.13.100.v20180827-1536.jar -console

This will start the osgi console

mario
  • 25
  • 1
  • 8
  • 18