отсутствует требование osgi.wiring.package при запуске комплекта - PullRequest
1 голос
/ 25 мая 2019

заранее спасибо за помощь!Я следую учебному пособию, и когда я пытаюсь запустить пакет, который я установил в karaf, он не запускается ... журнал выглядит так:

20: 12: 18.713 ОШИБКА [Караф локальной консоли пользователя karaf] Исключениеперехватил при выполнении команды org.apache.karaf.shell.support.MultiException: ошибка при выполнении команды для пакетов: ошибка при запуске пакета 157: невозможно разрешить db-examplejpa [157] (R 157.0): отсутствует требование [db-examplejpa [157](R 157.0)] osgi.wiring.package;(& (osgi.wiring.package = org.apache.felix.service.command) (версия> = 0.6.0) (! (версия> = 1.0.0))) Неразрешенные требования: [[db-examplejpa [157](R 157.0)] osgi.wiring.package;(& (osgi.wiring.package = org.apache.felix.service.command) (версия> = 0.6.0) (! (версия> = 1.0.0)))] в org.apache.karaf.shell.support.MultiException.throwIf (MultiException.java:61) ~ [?:?] В org.apache.karaf.bundle.command.BundlesCommand.doExecute (BundlesCommand.java:70) ~ [?:?] В org.apache.karaf.bundle.command.BundlesCommand.execute (BundlesCommand.java:55) ~ [?:?] в org.apache.karaf.shell.impl.action.command.ActionCommand.execute (ActionCommand.java:84) ~ [?:?] в org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute (SecuredCommand.java:68) ~ [?:?] в org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute (SecuredCommand.java:86) ~ [?:?] в org.apache.felix.gogo.runtime.Closure.executeCmd (Closure.java:599) ~ [?:?] в org.apache.felix.gogo.runtime.Closure.executeStatement (Closure.java:526) ~ [?:?] в org.apache.felix.gogo.runtime.Closure.execute (Closure.java:415) ~ [?:?] вorg.apache.felix.gogo.runtime.Pipe.doCall (Pipe.java:416) ~ [?:?] на org.apache.felix.gogo.runtime.Pipe.call (Pipe.java:229) ~ [?:?] на org.apache.felix.gogo.runtime.Pipe.call (Pipe.java:59) ~ [?:?] на java.util.concurrent.FutureTask.run (FutureTask.java:266) ~ [?:?] в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) ~ [?:?] в java.util.concurrent.Thread $oolExWorker.run (ThreadPoolExecutor.java:624) ~ [?:?] В java.lang.Thread.run (Thread.java:748) [?:?] Подавлено: java.lang.Exception: ошибка при запуске пакета 157: невозможноразрешить db-examplejpa [157] (R 157.0): пропущено требование [db-examplejpa [157] (R 157.0)] osgi.wiring.package;(& (osgi.wiring.package = org.apache.felix.service.command) (версия> = 0.6.0) (! (версия> = 1.0.0))) Неразрешенные требования: [[db-examplejpa [157](R 157.0)] osgi.wiring.package;(& (osgi.wiring.package = org.apache.felix.service.command) (версия> = 0.6.0) (! (версия> = 1.0.0)))] на org.apache.karaf.bundle.command.BundlesCommand.doExecute (BundlesCommand.java:67) ~ [?:?] В org.apache.karaf.bundle.command.BundlesCommand.execute (BundlesCommand.java:55) ~ [?:?] В org.apache.karaf.shell.impl.action.command.ActionCommand.execute (ActionCommand.java:84) ~ [?:?] в org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute (SecuredCommand.java:68) ~ [?:?] В org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute (SecuredCommand.java:86) ~ [?:?] В org.apache.felix.gogo.runtime.Closure.executeCmd (Closure.java:599) ~ [?:?] в org.apache.felix.gogo.runtime.Closure.executeStatement (Closure.java:526) ~ [?:?] в org.apache.felix.gogo.runtime.Closure.execute (Closure.java:415) ~ [?:?] at org.apache.felix.gogo.runtime.Pipe.doCall (Pipe.java:416) ~ [?:?] вorg.apache.felix.gogo.runtime.Pipe.call (Pipe.java:229) ~ [?:?] at org.apache.felix.gogo.runtime.Pipe.call (Pipe.java: 59) ~ [?:?] в java.util.concurrent.FutureTask.run (FutureTask.java:266) ~ [?:?] в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)~ [:?]в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) ~ [?:?] на java.lang.Thread.run (Thread.java:748) [?:?] Вызвано: org.osgi.framework.BundleException: Невозможно разрешить db-examplejpa [157] (R 157.0): отсутствует требование [db-examplejpa [157] (R 157.0)] osgi.wiring.package; (& (osgi.wiring.package = org.apache.felix.service.command) (версия> = 0.6.0) (! (версия> = 1.0.0))) Неразрешенные требования: [[db-examplejpa [157] (R 157.0)] osgi.wiring.package; (& (Osgi.wiring.package = org.apache.felix.service.command) (версия> = 0.6.0) (! (Версия> = 1.0.0)))] в org.apache.felix.framework.Felix.resolveBundleRevision (Felix.java:4149) ~ [?:?] в org.apache.felix.framework.Felix.startBundle (Felix.java:2119) ~ [?:?] в org.apache.felix.framework.BundleImpl.start (BundleImpl.java:998) ~ [?:?] в org.apache.karaf.bundle.command.Start.executeOnBundle (Start.java:38) ~ [?:?] в org.apache.karaf.bundle.command.BundlesCommand.doExecute (BundlesCommand.java:65) ~ [?:?] ... еще 14

учебник, если вам интересно: http://liquid -reality.de / Karaf-Tutorial / 06 /

Я думал, что это проблема versiong, но я пытался изменить версию в pom, но она не работала. у меня, кажется, есть ответы на некоторые вопросы, но не повезло ...

edit: я не использую bndtool btw ... это обязательно? тут ничего не сказано об этом

спасибо!

1 Ответ

1 голос
/ 26 мая 2019

Пример больше не соответствует текущим версиям Apache Karaf и JPA.

Проблема, которую вы видите, означает, что мы используем пакет "org.apache.felix.service.command", но нет пакета, который экспортирует этот пакет. В этом случае причина в том, что аннотации из этого пакета устарели и больше не поддерживаются текущей версией karaf.

Я адаптировал пример для текущего Apache Karaf, а также преобразовал его для использования стиля JPA на основе лямбды, а также декларативных сервисов вместо чертежей. Это делает пример немного проще.

Надеюсь, это поможет.

...