2011-12-15 2 views
3

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

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

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

Спасибо!

+0

Могу ли я спросить, на котором сервер приложений вам нужен плагин быть OSGi расслоения? Я прошу, потому что я работаю над поддержкой osgi для liferay и уже разработал некоторые проблемы с упаковкой, но это немного специфично. – Ray

+0

Я работаю над настраиваемым сервером, основанным на плутоне, я думаю. Я не сделал это, я просто разрабатываю пакеты для него, поэтому моя информация о сервере ограничена – drvido

ответ

0

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

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

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

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

HTH.

+0

Мне нужно немного подробное описание об этом ... :) – drvido

Смежные вопросы