2012-04-08 5 views
1

У меня есть источники существующего портлета. Я немного изменил его, чтобы исправить некоторые ошибки, и теперь мне нужно развернуть фиксированные источники в liferay. Я создаю военный файл с использованием опции артефакта и развертываю этот файл войны, как обычно. Но я все еще не могу добавить портлет на страницу, потому что я не вижу его в списке. Что я делаю не так?Как создать файл .war в IDEA для развертывания в Liferay?

Я использую Idea 11.1 и liferay 6.0.6, если это важно.

Кажется, проблема с неправильным файлом войны, потому что другие файлы войны (которые я не скомпилировал) были успешно развернуты.

А также, если это важно, я создал военные файлы при создании артефакта и не использовал Ant.


журналы:

09:37:09,430 INFO [PortletAutoDeployListener:71] Copying portlets for D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war 
    Expanding: D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war into D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF\classes 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\WEB-INF\classes 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483\META-INF 
    Copying 119 files to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\webapps\Comply-Activities-portlet 
    Copying 1 file to D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\webapps\Comply-Activities-portlet 
    Deleting directory D:\odesk_work\liferay\liferay-portal-6.0.6\tomcat-6.0.29\temp\20120409093709483 
09:37:12,456 INFO [PortletAutoDeployListener:81] Portlets for D:\odesk_work\liferay\liferay-portal-6.0.6\deploy\Comply-Activities-portlet-6.0.5.2.war copied successfully. Deployment will start in a few seconds. 

выглядит это сбой при развертывании его. becouse при попытке развернуть действующий портлет есть некоторая дополнительная информация в журналах, как

09:13:37,874 INFO [PortletHotDeployListener:220] Registering portlets for Comply-Activities-portlet 
09:13:37,976 INFO [PortletHotDeployListener:369] 1 portlet for Comply-Activities-portlet is available for use 

UPD: Может кто-то даст мне инструкции, как построить * .WAR правильно? Думаю, этого будет достаточно.

+0

«Как обычно» вы развертываете его «как обычно на вашем сервере приложений» или «как обычно через каталог развертывания Liferay»? Что вы видите в файле журнала? Какие-то проблемы? «1 портлет для ... вашего плагина ... готов к использованию»? –

+0

Как обычно, я имею в виду вставку для развертывания директории. – Ph0en1x

+0

журналы также в порядке. Я думаю, что проблема в неправильной войне, а не в жизни, потому что я развертываю другие портлеты без каких-либо проблем. – Ph0en1x

ответ

1

Убедитесь, что liferay-display.xml находится в каталоге WEB-INF вашей войны, и что это контент в порядке.

Он должен содержать что-то вроде этого:

<?xml version="1.0"?> 
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 5.2.0//EN"  "http://www.liferay.com/dtd/liferay-display_5_2_0.dtd"> 

<display> 
<category name="${liferay.category}"> 
    <portlet id="yourPortletID" /> 
    <portlet id="yourPortletID2" /> 
      <!-- more portlet ids --> 
</category> 
</display> 

Может быть, система сборки не хватает его, когда он создает войну.

Если нет, поместите его вручную и посмотрите, работает ли это.

редактировать

Ok. Теперь, имея больше информации, похоже, что вы включили servlet-api в свою войну. Эта банка (и классы внутри нее) предоставляется порталом (или, более конкретно, контейнером сервлета). То же самое касается portlet-api. Вы не должны включать их в развернутое приложение.

Проверьте, указаны ли эти зависимости как <scope>provided</scope> в вашем файле pom.xml.

+0

да, он есть и контент отлично выглядит – Ph0en1x

+0

@ Ph0en1x ok, см. Мое редактирование – soulcheck

+0

Я удаляю его из пакета, но это никоим образом не помогает – Ph0en1x

0

Попробуйте сначала отменить портлет из комплектов/tomcat/webapps - удалите каталог портлета. А затем снова разверните портлет.

+0

попробуйте много раз без успеха – Ph0en1x

0

Постройте проект с муравьем, создайте войну, и теперь она работает. Но, возможно, это возможно сделать без использования муравья, только с IDEA. Мне нужно проверить это.

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