Веб-консоль Apache Felix 404

Я запускаю инструменты BND в eclipse Kepler под Windows 7 с использованием JavaSE 1.6 и пытаюсь запустить инфраструктуру Apache Felix 4.4.0 с помощью веб-консоли. Я весьма озадачен, так как тот же подход, похоже, работал в Ubuntu 14.04. Что я не вижу?

Помимо обычных пакетов, я использую пакеты для веб-сервера Jetty и пакет веб-консоли felix. Теперь, когда я пытаюсь получить доступ к http://localhost:8080/system/console, я получаю 404 от причала. Теперь это говорит мне, что причал работает правильно, но веб-консоль почему-то работает неправильно.

Я попытался повторно добавить пакеты, перезапустить eclipse, перезагрузить компьютер, но все безрезультатно. Минимальный пример работает на другой машине под управлением Ubuntu, и раньше я тоже мог запускать его.

Теперь я обнаружил, что есть свойство «manager.root», с помощью которого я могу сам установить местоположение веб-консоли, но я его не менял (даже если бы и изменил, это казалось неэффективным). Есть ли команда для получения местоположения из консоли?

Я использую только следующие 4 пакета:

  • org.apache.felix.gogo.shell
  • org.apache.felix.gogo.command
  • org.apache.felix.http.jetty
  • org.apache.felix.webconsole

Активные пакеты:

ID|State      |Level|Name
 0|Active     |    0|System Bundle (4.4.0)
 1|Active     |    1|Java Servlet API (3.0.1)
 2|Active     |    1|Apache Felix Gogo Command (0.12.0)
 3|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
 4|Active     |    1|Apache Felix Gogo Shell (0.10.0)
 5|Active     |    1|Apache Felix Http Jetty (2.2.2)
 6|Active     |    1|Apache Felix Web Management Console (All In One) (4.2.2.all)
 7|Active     |    1|osgi.enterprise (4.2.0.201003190513)
 8|Active     |    1|osgi.residential (4.3.0.201111022239)

person Ktipr    schedule 26.05.2014    source источник
comment
Убедитесь, что пакет Jetty публикует HttpService и что он используется пакетом WebConsole: inspect cap service 5   -  person Neil Bartlett    schedule 26.05.2014
comment
Кажется, что служба опубликована, но не используется веб-консолью. Он не отображается как используемый каким-либо пакетом.   -  person Ktipr    schedule 26.05.2014
comment
Я подозреваю несовместимость импорта javax.servlet. Я отмечаю, что у вас есть пакет Servlet 3.0, и я думаю, что пакет Felix Jetty экспортирует Servlet 2.5. Если WebConsole импортирует javax.servlet 3.0, он будет несовместим с экспортом 2.5 из Felix Jetty. Вы можете убедиться в этом, выполнив inspect req osgi.wiring.package 6. Пожалуйста, опубликуйте полный вывод здесь или вкратце.   -  person Neil Bartlett    schedule 27.05.2014
comment
В качестве альтернативы вы можете попробовать github.com/evandor/skysail-webconsole, он должен запуститься без каких-либо проблем (по крайней мере, это идея ;) - это все еще в ранней альфе).   -  person evandor    schedule 18.08.2016


Ответы (1)


Спасибо, Нил, ты был прав. В примере с Ubuntu я обнаружил, что действительно использую другую версию Java Servlet API (2.5). Убедившись, что я использую версию 2.5 и на компьютере с Windows, все, казалось, работало нормально.

Требования к пакету webconsole следующие:

g! inspect req osgi.wiring.package 6
org.apache.felix.webconsole [6] requires:
-----------------------------------------
osgi.wiring.package; (&(osgi.wiring.package=javax.servlet)(version>=2.4.0)) resolved by:
   osgi.wiring.package; javax.servlet 3.0.0 from javax.servlet-api [1]
osgi.wiring.package; (&(osgi.wiring.package=javax.servlet.http)(version>=2.4.0)) resolved by:
   osgi.wiring.package; javax.servlet.http 3.0.0 from javax.servlet-api [1]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.framework 1.7.0 from org.apache.felix.framework [0]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.http)(version>=1.2.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.http 1.2.1 from osgi.residential [8]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.packageadmin)(version>=1.2.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.packageadmin 1.2.0 from org.apache.felix.framework [0]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.startlevel)(version>=1.1.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.startlevel 1.1.0 from org.apache.felix.framework [0]
osgi.wiring.package; (&(osgi.wiring.package=org.apache.felix.bundlerepository)(version>=2.0.0)(!(version>=3.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.obr)(version>=1.0.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.cm)(version>=1.2.0)(!(version>=2.0.0))) resolved by:
   osgi.wiring.package; org.osgi.service.cm 1.4.0 from osgi.residential [8]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.condpermadmin)(version>=1.0.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.log)(version>=1.3.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.metatype)(version>=1.1.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.permissionadmin)(version>=1.2.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.prefs)(version>=1.1.0)(!(version>=2.0.0))) [UNRESOLVED]
osgi.wiring.package; (&(osgi.wiring.package=org.osgi.service.wireadmin)(version>=1.0.0)(!(version>=2.0.0))) [UNRESOLVED]
person Ktipr    schedule 27.05.2014