Я пытаюсь использовать Karaf для размещения службы REST. Я использую версию 4.0.0 M2 (поскольку мой прототип находится на ранней стадии). Из того, что я собрал воедино, для размещения службы REST я могу использовать функции Karaf для установки функций http и cxf.
Что я сделал до сих пор ...
- завел караф - завел нормально
- настройте его, чтобы найти мой локальный репозиторий maven - отлично
- использовал
feature:repo-add mvn:org.apache.cxf.karaf/apache-cxf/3.0.4/xml/features
- это работало без ошибок, и я вижу xml в моем репозитории mvn - запустил
feature:install http
- это сработало, и я вижу доказательства работы кода Jetty - побежал
feature:install cxf
- это не удается
Я получаю это сообщение в консоли
karaf@root()> функция: install cxf Ошибка при выполнении команды: невозможно разрешить root: отсутствует требование [root] osgi.identity; osgi.identity=cxf-http-jetty; тип = karaf.feature; версия = 3.0.4 [вызвано: невозможно разрешить cxf-http-jetty/3.0.4: отсутствует требование [cxf-http-jetty/3.0.4] osgi.identity; osgi.identity=org.apache.cxf.cxf-rt-transports-http-jetty; тип=osgi.bundle; версия="[3.0.4,3.0.4]"; разрешение: = обязательно [вызвано: невозможно разрешить org.apache.cxf.cxf-rt-transports-http-jetty/3.0.4: отсутствует требование [org.apache.cxf.cxf-rt-transports-http-jetty/ 3.0.4] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.eclipse.jetty.continuation)(версия>=7.6.0)(!(версия>=8.2.0)))"]]
Если я посмотрю на имеющиеся там пакеты, я увижу пакет org.eclipse.jetty.continuation в моей системе, когда http установлен
2015-05-08 09:29:02,928 | ИНФО | пул-40-поток-1 | ОсобенностиСервисВнедрение | 6 — org.apache.karaf.features.core — 4.0.0.M2 | org.eclipse.jetty.continuation / 9.2.7.v20150116
Итак, это версия 9.2.7. Если я понимаю ошибку при установке cxf, ему нужна версия >= 7.6.0, а не >= 8.2.0.
Есть ли версия службы HTTP, которую я могу использовать с CXF? Я новичок в Karaf, поэтому не знаю, как указать более старую версию. Спасибо за любую помощь.