Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to start osgi console (Equinox)

Tags:

osgi

equinox

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?

like image 963
Andrea Scarpa Avatar asked Sep 08 '14 22:09

Andrea Scarpa


People also ask

How do I open OSGi console?

An OSGi console is now available to interact with the running framework. Use the Open Console drop down action in the Console View to open a Host OSGi Console. You can then enter OSGi commands into the console to interact directly with the framework running the IDE.

What is OSGi console?

The OSGi console is a command-line interface to the OSGi container. It allows you to do things like start, stop, install bundles, and update or delete bundles.

How do I debug OSGi bundle in Eclipse?

To run your bundles, right click and choose Run as ->OSGi Framework (or debug as). You can tweak which bundles are included in the runtime configuration, and what arguments are used. You may for example want to add -console . You can also create an application for export, which will give you a config.


2 Answers

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

like image 80
lkq Avatar answered Sep 22 '22 19:09

lkq


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.

like image 45
Balazs Zsoldos Avatar answered Sep 26 '22 19:09

Balazs Zsoldos