2013-06-25 5 views
2

Я пытаюсь запустить узелок как основы OSGI, но я получил следующий результат, и я не знаю, где ошибка:Bundle Исключение во время работы рамки OSGi

!SESSION 2013-06-25 13:28:45.073 ----------------------------------------------- 
eclipse.buildId=unknown 
java.version=1.7.0_21 
java.vendor=Oracle Corporation 
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US 
Command-line arguments: -dev file:C:/Users/HP/workspace/.metadata/.plugins/org.eclipse.pde.core/OSGi Framework/dev.properties -os win32 -ws win32 -arch x86 -consoleLog -console 

!ENTRY org.eclipse.osgi 4 0 2013-06-25 13:28:51.609 
!MESSAGE Could not find bundle: org.eclipse.equinox.console 
!STACK 0 
org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console 
    at org.eclipse.osgi.framework.internal.core.ConsoleManager.checkForConsoleBundle(ConsoleManager.java:211) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:297) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414) 

> сс ВЫВОД:

id State  Bundle 
0 ACTIVE  org.eclipse.osgi_3.8.2.v20130124-134944 
2 ACTIVE  org.hamcrest.core_1.1.0.v20090501071000 
3 ACTIVE  org.junit_4.10.0.v4_10_0_v20120426-0900 
4 ACTIVE  org.apache.felix.gogo.command_0.8.0.v201108120515 
5 ACTIVE  org.apache.felix.gogo.runtime_0.8.0.v201108120515 
6 ACTIVE  org.eclipse.equinox.console_1.0.0.v20120522-1841 
7 ACTIVE  org.apache.felix.gogo.shell_0.8.0.v201110170705 
9 ACTIVE  inotify-bundle-core-conf_1.0.0.qualifier 
+0

Вы используете Eclipse Juno? –

+0

да, это правда –

+0

проблема решена в: [http://stackoverflow.com/questions/9905607/equinox-start-error-console-bundle-is-missed][1] [1]: http://stackoverflow.com/questions/9905607/equinox-start-error-console-bundle-is-missed –

ответ

4

Похоже, вы работаете Eclipse, Juno, который поставляется в комплекте с OSGi v3.8, который не использует Eclipse, во встроенной консоли, но консоль теперь содержал его собственный пучок. Вам нужно добавить этот пакет. Это то, о чем жалуется ваши OSGi. Вам также нужно добавить пакет felix для запуска новой консоли.

В целом, как минимум, необходимо выбрать следующие пакеты в вашей конфигурации запуска OSGi:

- org.eclipse.osgi 
- org.eclipse.equinox.console 
- org.apache.felix.gogo.runtime 
- org.apache.felix.gogo.shell 


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

-Dosgi.console.enable.builtin=true 
+0

спасибо, проблема решена, теперь пакет работает нормально, но есть еще один исключение появляется и не знает, повлияет ли это на какую-либо вещь или нет: org.osgi.framework.BundleException: Недопустимый заголовок манифеста Импорт-пакет: "org.eclipse.osgi.framework.console; ver sion = "1.1.0" ": не удается импортировать пакет более одного раза" org.eclipse.osgi.framework.console " \t на org.eclipse.osgi.internal.resolver.StateBuilder.checkImportExportSyntax (StateBuilder.java:819) \t at org.eclipse.osgi.internal.resolver.StateBuilder.validateHeaders (StateBuilder.java:212) . . . –

+0

@MuhammedRefaat. Что это? –

+0

Вам не нужен этот пакет импорта. Просто удалите его. –