Мы запускаем apache-karaf-4.2.0 во внутренней сети, которая не подключена к Интернету. Мы пытаемся запустить HTTP-сервер в Karaf, и мы решили использовать org.apache.felix.http.bundle-3.0.0.jar, поскольку он содержит все, что нам нужно, в одной банке (в отличие от возврата всего, что перечислено в функции http в Karaf).
Вот мои шаги по воспроизведению проблемы:
apache-karaf-4.2.0.tar.gz и распакуйте ее.org.apache.felix.http.bundle-3.0.0.jarapache-karaf-4.2.0mkdir -p system/org/apache/felix/org.apache.felix.http.bundle/3.0.0/org.apache.felix.http.bundle-3.0.0.jar в каталог, который вы только что
созданныйsystem/org/apache/karaf/features/standard/4.2.0/standard-4.2.0-features.xml<feature name = "standard"...> добавьте следующее
строки (см. ниже, поскольку я не могу вставить его в этот список):etc/custom.propertiesorg.apache.felix.jettyEnabled =
true./bin/karaffeature: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, но больше его не предоставляет. Так что я очень запутался.
Если у кого-то есть мысли о том, как продолжить отладку и / или исправить это, я был бы очень признателен.
Я не уверен, но почти уверен :) Как я сказал в исходном посте, у меня установлены только перечисленные функции, я их просмотрел, и ни одна из них, похоже, не предоставляет ничего, связанного с Jetty.




вы уверены, что еще не запущен другой экземпляр причала?