How to start osgi console (Equinox)

谁都会走 提交于 2019-12-17 15:57:29

问题


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.

  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




回答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

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