Создайте пакет веб-приложений (WAB) для контейнера OSGI, который НЕ содержит jar всех зависимостей с помощью maven-bundle-plugin - PullRequest
4 голосов
/ 21 апреля 2011

Я хочу развернуть веб-приложение java (с web.xml и всем остальным), упакованное любым способом (war, jar, мне все равно) на контейнере OSGI (например, Karaf).Есть два важных ограничения:

  1. WEB-INF / lib должен быть пустым, а упакованное веб-приложение должно искать необходимые классы в других пакетах, установленных в контейнере
  2. пакет долженбыть веб-приложением, поэтому контейнер знает, что ему нужно прочитать web.xml, чтобы запустить его и сделать его доступным через службу HTTP (например, jetty), которая уже установлена ​​в контейнере (как в Karaf).
  3. это должно быть сделано с помощью maven-bundle-plugin 2.2.0

Мне удалось создать пакеты и автоматически развернуть их с помощью этого плагина и maven-sling-plugin.Что мне не хватает, так это правильной конфигурации для упаковки моего пакета в виде WAB, который, как мне сказали, является подходящим типом упаковки для этого и без зависимостей.

1 Ответ

1 голос
/ 21 июля 2011

Вам абсолютно необходим web.xml?Недавно я просмотрел и обновил множество веб-приложений, упакованных как войны, чтобы превратить их в чистые пакеты.Большая часть информации, которую вы обычно указываете в web.XML, также может быть указана в вашем манифесте, которая будет передана в pax web (от внешнего интерфейса Карафа до пристани).До сих пор я не сталкивался ни с одной войной, которая не могла бы быть превращена в чистый пакет (который удовлетворил бы ваши ограничения).

...