Активация Apache Felix HTTP-комплекта в Karaf - PullRequest
0 голосов
/ 08 июня 2018

Мы работаем apache-karaf-4.2.0 во внутренней сети, которая не подключена к Интернету.Мы пытаемся запустить HTTP-сервер в Karaf, и мы решили использовать org.apache.felix.http.bundle-3.0.0.jar, поскольку он содержит все, что нам нужно, в одном банке (в отличие от возврата всего перечисленного в функции http в Karaf).

Вот мои шаги по воспроизведению проблемы:

  1. Загрузите копию apache-karaf-4.2.0.tar.gz и распакуйте ее
  2. Загрузите копию org.apache.felix.http.bundle-3.0.0.jar
  3. cdв apache-karaf-4.2.0
  4. mkdir -p system/org/apache/felix/org.apache.felix.http.bundle/3.0.0/
  5. Скопируйте org.apache.felix.http.bundle-3.0.0.jar в только что созданный каталог
  6. Открыть system/org/apache/karaf/features/standard/4.2.0/standard-4.2.0-features.xml
  7. Внизу, перед<feature name="standard"...> добавьте следующие строки (см. Ниже, поскольку я не могу вставить его в этот список):
  8. Открыть etc/custom.properties
  9. Добавьте следующую строку внизу: org.apache.felix.jettyEnabled = true
  10. Выполнить ./bin/karaf
  11. В приглашении karaf введите: feature:install felix-http

А вот как должен выглядеть XML в файле standard-4.2.0-features.xml:

<feature name="felix-http" description="Apache Felix HTTP Bundle" version="4.2.0">
    <bundle>mvn:org.apache.felix/org.apache.felix.http.bundle/3.0.0</bundle>
    <config name="org.apache.felix.http">
        org.osgi.service.http.port=8888
    </config>
</feature>

Если я понимаю IncompatibleClassChangeError, это означает, что что-то было скомпилировано с более старой версией что-то еще .Я предполагаю, что что-то еще - это jetty, но ничто другое не обеспечивает это.Так что я очень запутался.

Если у кого-нибудь возникнут мысли о том, как продолжить отладку и / или исправление, я был бы очень признателен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...