Как запустить консоль osgi (Equinox)

Я пытаюсь запустить консоль OSGi в Windows 7.

Я использовал это утверждение в окне терминала:

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

Но это не работает, потому что ничего не происходит, и при этом не появляется быстрое osgi>. И ввод на клавиатуре неэффективен, за исключением ^C который заставляет вновь появляться обычную подсказку терминала.

У кого-нибудь есть предложения?

Ответ 1

Начиная с Equinox 3.8.0.M4, у него есть новая консоль. Поэтому вам нужны эти четыре пучка, чтобы он работал правильно.

  • org.eclipse.equinox.console.jar
  • org.apache.felix.gogo.shell.jar
  • org.apache.felix.gogo.command.jar
  • org.apache.felix.gogo.runtime.jar

Эти файлы jar можно найти в папке установки Eclipse в папке "plugins". Скопируйте эти банки и поместите их в ту же папку с помощью org.eclipse.osgi.jar, и она будет выглядеть так:

  • somedir/
    • Конфигурация /
      • 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

Затем отредактируйте config.ini как:

[email protected], [email protected], [email protected], [email protected]

После этого запустите java -jar org.eclipse.osgi.jar -console в командной строке и начнется консоль OSGi.

Ссылка Ошибка 371101

Ответ 2

Встроенная консоль равноденствия устарела и отключена с версии 3.8. Если вы используете более новую версию, вы должны использовать свойство osgi.console.enable.builtin = true. См. Http://hwellmann.blogspot.hu/2012/08/new-osgi-console-in-equinox-380.html.

Вы можете установить эти свойства как системные свойства. Ваша команда будет:

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

Это сработало для меня с 3.8. Я только что попробовал это с 3.10, но это не работает. Я думаю, встроенная консоль полностью удалена.

Вы должны использовать консоль gogo, которая стала стандартом де-факто. Вы можете найти информацию об этом по ссылке выше.

Ответ 3

Вы также можете изменить каталог, в котором находятся плагины eclipse, и выполнить команду, аналогичную следующей:

java -Dosgi.bundles=.\[email protected],.\[email protected],.\[email protected],.\[email protected] -jar org.eclipse.osgi_3.13.100.v20180827-1536.jar -console

Это запустит консоль osgi

Ответ 4

Напомним, вот команда, чтобы она работала с реализацией Equinox

Протестировано с установкой Eclipse 2018-12: (Eclipse IDE для разработчиков RCP и RAP)

Перейти в каталог плагинов

Unix, Bash:

java -Dosgi.bundles=\
$(ls -1 org.apache.felix.gogo.shell_*.jar)@start,\
$(ls -1 org.apache.felix.gogo.command_*.jar)@start,\
$(ls -1 org.apache.felix.gogo.runtime_*.jar)@start,\
$(ls -1 org.eclipse.equinox.console_*.jar)@start\
 -jar $(ls -1 org.eclipse.osgi_*.jar) -console

Windows, powershell (работает только в режиме консоли):

java ('-Dosgi.bundles='+(('
"$(ls org.apache.felix.gogo.shell_*.jar | select -ExpandProperty Name)'@start",'
"$(ls org.apache.felix.gogo.command_*.jar | select -ExpandProperty Name)'@start",'
"$(ls org.apache.felix.gogo.runtime_*.jar | select -ExpandProperty Name)'@start",'
"$(ls org.eclipse.equinox.console_*.jar | select -ExpandProperty Name)'@start"'
) -join ',')) '-jar' "$(ls org.eclipse.osgi_*.jar | select -ExpandProperty Name)" '-console'

Windows, powershell (работает также с ISE):

Start-Process 'java' -ArgumentList '
(('-Dosgi.bundles=','
"$(ls org.apache.felix.gogo.shell_*.jar | select -ExpandProperty Name)'@start,",'
"$(ls org.apache.felix.gogo.command_*.jar | select -ExpandProperty Name)'@start,",'
"$(ls org.apache.felix.gogo.runtime_*.jar | select -ExpandProperty Name)'@start,",'
"$(ls org.eclipse.equinox.console_*.jar | select -ExpandProperty Name)'@start",'
" -jar $(ls org.eclipse.osgi_*.jar | select -ExpandProperty Name) -console"
) -join '')

Ссылка на ошибку затмения:
Ошибка 371101 - Консоль Equinox не запускается