Как запустить консоль 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/
- Конфигурация /
- 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 не запускается