Проблема интеграции веб-приложений Liferay (WAI) - PullRequest
2 голосов
/ 03 июня 2011

Я пытаюсь заставить существующее приложение отображаться в качестве портлета в Liferay.Я подтвердил, что файл WAR будет развернут в Tomcat / Jetty.Очевидно, я должен иметь возможность просто скопировать файл WAR в папку развертывания Liferay, а Liferay позаботится обо всем остальном.

Портлет действительно отображается в меню «Добавить», но я получаю ошибку 404 один разЯ добавил это.Кажется, путь неверный.

Кажется, что Liferay пытается перейти по следующему пути: http://localhost:8080/web/guest/home/-/waiapp/jms-gui/

Однако приложение работает по адресу: http://localhost:8080/jms-gui/secure/jmsPortlet

Я не уверен, что изменить или как настроить это, чтобы заставить его работать.Буду признателен за любую помощь.

Спасибо, Михаил Колаковский

Ответы [ 2 ]

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

Да, вы должны быть в состоянии, хотя есть некоторые ограничения. Здесь Liferay Wiki является соответствующей документацией, такой как она есть. Я обнаружил это только недавно, поместив приложение grails в каталог горячего развертывания моего liferay-сервера, чтобы посмотреть, что произойдет. После того, как он был развернут, я начал искать в папке webapps и с удивлением увидел файлы portlet.xml и liferay-portlet.xml. Конечно же, как только я вошел в систему и посмотрел в меню «Добавить портлет», появилась категория «неопределенная» и мое приложение grails как портлет. Аутентификация не является общей, и я считаю, что вы можете ее сломать, если в вашем веб-приложении есть внешняя ссылка с сайта. Тем не менее, довольно весело взломать!

1 голос
/ 11 июня 2011

Очевидно, я должен иметь возможность просто скопировать файл WAR в папку развертывания Liferay, а Liferay позаботится обо всем остальном.

Нет, это не так.

Liferay - контейнер с портлетами.Под «существующим приложением» вы, вероятно, подразумеваете обычное веб-приложение на Java, основанное на API сервлетов.У портлетов есть собственный API, вы не можете просто взять веб-приложение на основе сервлетов и превратить его в веб-приложение с портлетами без изменения кода, потому что портлеты отличаются от сервлетов.

В вашем случае вы, вероятно, можете использовать портлет iFrame, который бы iFrameваше веб-приложение, которое вы можете развернуть в том же Tomcat, где работает Liferay, если хотите.Но вы не должны развертывать его с помощью процедуры развертывания Liferay, потому что он предназначен для плагинов Liferay, а не для обычных веб-приложений.

...