我正在尝试将现有的应用程序显示为Liferay中的portlet。我已确认WAR文件将部署在Tomcat / Jetty中。显然,我应该能够简单地将WAR文件复制到Liferay的部署文件夹中,Liferay将负责其余部分。
portlet确实显示在“添加”菜单中,但是一旦添加它就会出现404错误。路径似乎是错误的。
Liferay似乎试图去的路径是:http://localhost:8080/web/guest/home/-/waiapp/jms-gui/
但是,该应用程序运行在:http://localhost:8080/jms-gui/secure/jmsPortlet
我不确定要更改什么或如何配置它以使其工作。任何帮助将不胜感激。
谢谢, Michael Kolakowski
答案 0 :(得分:1)
显然,我应该能够简单地说 将WAR文件复制到Liferay的部署中 文件夹和Liferay将照顾 其余的。
不,这不是真的。
Liferay是portlet容器。 通过“现有应用程序”,您可能意味着通常的java webapp,基于Servlet API。 Portlet有自己的API,您不能只使用基于Servlet的webapp并将其转换为portlet webapp而不更改代码,因为Portlet与Servlet不同。
在你的情况下你可能会选择iFrame你的web应用程序,你可以将它部署到运行Liferay的同一个Tomcat,如果你愿意的话。 但是你不应该通过Liferay部署程序来部署它,因为它适用于Liferay插件,而不适用于通常的webapps。
答案 1 :(得分:1)
是的,你应该可以,尽管有一些限制。这里Liferay Wiki是相关文档,例如它。我最近才发现这一点,将grails应用程序放入我的liferay服务器的热部署目录中,看看会发生什么。部署完成后,我开始在webapps文件夹中查看,并惊讶地看到了portlet.xml和liferay-portlet.xml文件。当我登录并查看Add Portlet菜单时,确实有一个'undefined'类别和我的grails应用程序作为portlet。身份验证不是共享的,我相信如果您的webapp在网站外有外部链接,您可以破解它。不过,非常有趣的黑客!