问题
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?
回答1:
Starting from Equinox 3.8.0.M4, it has a new console. So you need also these four bundles for it to run properly.
org.eclipse.equinox.console.jar
org.apache.felix.gogo.shell.jar
org.apache.felix.gogo.command.jar
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
- configuration/
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
回答2:
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.
回答3:
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
来源:https://stackoverflow.com/questions/25733843/how-to-start-osgi-console-equinox