OSGI Не удалось разрешить root: не удалось запустить пакет «отсутствует требование» с использованием javax.ws.rs: osgi.wiring.package

Я попытался запустить пакет OSGI REST. я поставил следующий пакет импорта: javax.ws.rs, org.codehaus.jackson.jaxrs, org.apache.cxf.jaxrs.client,

Когда я запускаю пакет, я получаю следующую ошибку: osgi.wiring.package; filter:="(&(osgi.wiring.package=javax.ws.rs)(версия>=2.0.0)(!(версия>=3.0.0)))"]]]


person Maha makni    schedule 30.04.2017    source источник
comment
Похоже на проблему зависимости. Можете ли вы зависимости, которые вы тянете? Вы добавляете cxf-rt-frontend-jaxrs и/или javax.ws.rs-api?   -  person J Woodchuck    schedule 02.05.2017
comment
Данные неполные. Можете выложить полные логи и manifest.mf вашего бандла?   -  person Shailesh Pratapwar    schedule 02.05.2017


Ответы (1)


Шаг 1: убедитесь, что вы импортировали (импортируете во время выполнения) эти пакеты в свой пакет:

-если вы создаете свой пакет с помощью maven-bundle-plugin, в pom.xml сделайте следующее:

    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
            <instructions>
              ...
              <Import-Package>
                javax.ws.rs*,
                org.codehaus.jackson*,
                org.apache.cxf.jaxrs*,
              </Import-Package>
              ...
           </instructions>
        </configuration>
    </plugin>
  • Если только не перечислить эти пакеты в manifest.mf.

Шаг 2: убедитесь, что эти пакеты правильно развернуты в вашем контейнере: предоставлены или развернуты в контейнере вручную. Если вы используете Apache Karaf, есть функция cxf-jaxrs => установите/запустите ее.

person Karim G    schedule 03.07.2017