About

18 нояб. 2011 г.

Hello World: portlet + maven2 + Liferay Portal


Совсем недавно начала знакомиться с такой замечательной вещью как Liferay Portal. Конвертер портлетов + cms портала. Впечатления самые приятные. Есть много чего что мы писали руками на jsf.
Итак задача : установить Liferay Portal и запустить простейший портлет.
Исходные данные :
ос : Ubuntu 11.10 ;
сервер : Glassfish 3.1 ;
среда разработки : Netbeans 7.0.1 ;
сборка проекта : maven2 ;


Glassfish
Скажу сразу что не стала заморачиваться с перестройкой гласфиша , возможно это и не сложная процедура ,поковыряюсь позже.
1. Скачать сборку гласфиша , например 6.0.6.
2. Распаковать
3. Установить права на запуск файлов в ~/liferay-portal-6.0.6/glassfish-3.0.1/bin
4. Запуск
sudo ~/liferay-portal-6.0.6/glassfish-3.0.1/bin/asadmin start-domain
И вот он , портал, http://127.0.0.1:8080/
Гласфиш 3.0.1 оказался довольно глючнутым - админка постоянно вылетает на первую страницу, и порой задеплоить что либо из нее довольно проблематично , поэтому пользуюсь консолью или нетбинсом.

Netbeans
Чтобы создавать портлеты в нетбинсе , необходимо установить несколько плагинов. Все они собрани одним архивом Portal Pack. На данный момент 3.0.5 Beta последняя.

Далее нужно зарегистрировать сервер-конвертер портлетов в нетбинсе.
Tools->Servers->Add server
Далее указывается папка с гласфишем :
После добавления он появится в списке серверов :


Проект HelloWorld: web application.
Для начала простой веб проект, не мавен, для портлетов.
На третьем шаге выбираем сервер.
На следующим - поддержку портлетов. Настройки первого портлета.
Должно получиться что то вроде этого :


Простым запуском run проект билдится и деплоится на сервер. И появляется в списке портлетов :
Заходим на портал под админов (логин test@liferay.com , пароль test).
В меню Add->More и видим портлет в разделе User_Portlets
И , наконец , видим результат на странице :

Hello World : maven web application.
А теперь про мой любимый мавен. Уж очень хотелось задействовать мавен сборку. Почти тоже самое, только поддержку портлетов добавим сами, а не нетбинсом.
1. Создаем новый проект мавен веб апликейшн.
2. В pom.xml добавить библиотеку портлетов,сервер, и репозиторий, удалить имеющиеся библиотеки, они не нужны.

Портлеты :
    <dependencies>
        <dependency>
            <groupId>javax.portlet</groupId>
            <artifactId>portlet-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

И репозиторий :
<repositories>
        <repository>
            <id>maven2-repository-portletfaces.org</id>
            <url>http://repository.portletfaces.org/content/repositories/portletfaces-releases</url>
        </repository>
    </repositories>

А так же сервер :
    <properties>
        ....
        <netbeans.hint.deploy.server>liferay</netbeans.hint.deploy.server>
    </properties>

3. Билдим, должны появиться файлы настроек liferay :

 4. Обозначим что данный проект для портлетов. Заходим в пропертиз проекта :


5. Можно сразу создать первый портлет :

6. Получается такая структура с jsp файлами :
Портлет готов!
И снова run , заходим на портал под админом, и видим новое творение :
Портлет maven2












0 comments:

Отправить комментарий