Как преобразовать портлет Liferay в комплект OSGI? - PullRequest
3 голосов
/ 15 декабря 2011

У меня были некоторые проблемы с моим сервером, поэтому я построил свои портлеты и протестировал их локально в контейнере портлетов liferay.Я использовал API портлета 2.0 для стандартов Java и JSR 286.Портлеты построены с использованием Spring Framework и работают на моей локальной машине.

Мой вопрос заключается в том, как преобразовать имеющийся у меня пакет портлета на основе Spring в пакет OSGI?Что мне нужно настроить в моем текущем портлете для соответствия требованиям пакета OSGI?

Я использую eclipse для разработки портлетов и ant для упаковки их в файл war и не знаю, как использовать antупаковать его в баночку с банкой.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 18 декабря 2011

Вы должны использовать задачи bnd ant для упаковки вашего плагина в качестве wab.См. http://www.aqute.biz/Bnd/Ant.

Вот несколько примеров: https://github.com/rotty3000/liferay-plugins/tree/OSGi/portlets/osgi-admin-portlet

0 голосов
/ 17 декабря 2011

Вам нужно разбить ваше приложение и решить, как вы используете уровень модуля OSGi.Например, один из API экспорта комплектов (JRS-API) и другой импортирующий их.

Если вы идете по этому пути, изначально вы столкнетесь с такими проблемами, как ClassNotFounds и ClassCastsException.Но по истечении этого периода вы сможете использовать классные функции, такие как службы OSGi / несколько версий / и т. Д.

Eclipse обеспечивает отличную инструментальную поддержку для разработки OSGi-пакета.ИМХО, вам не нужно выполнять задачи муравья.Если вы используете maven, то вы можете использовать плагин felix-bundle для создания ваших пакетов.

Другой вариант - создать один огромный пакет, который имеет все зависимости - встроенный.Это будет работать, но опять же вы не используете возможности OSGi.:)

HTH.

...