By eamoi
部署自己的Portlet
Liferay Portal跟Tomcat5.0集成在一起,从本质上讲,liferay-portal-pro-3.6.0-tomcat.zip是一个Tomcat 压缩包,只是其中将liferay作为默认应用,并将跟Portlet有关的操作都交给liferay应用处理而已。因此,Liferay Portal支持所有针对Tomcat5.0的部署方式,包括:手动部署、Ant部署,并且支持热部署。
第一节 手动部署
手动部署可以采用拷贝文件夹、war部署、编写部署文件三种方式:
①、 拷贝文件夹:与单纯的Tomcat一样,我们可以将{APP_HOME}\webapp目录拷贝到{PORTAL_HOME}\webapps\下,该 webapp目录名为TestPortal。启动Liferay Portal(双击{PORTAL_HOME}\bin\startup。bat)即可。
②、war部署:或者将{APP_HOME}\ webapp打包成TestPortal.war,拷贝war到{PORTAL_HOME}\webapps\下,启动Liferay Portal,让Tomcat自动解压。在命令行模式下切换到{APP_HOME}\webapp目录,执行 jar cvf TestPortal.war * 。
③、编写部署文件:
{PORTAL_HOME}\conf\Catalina\localhost目录下,创建TestPortal.xml文件,内容如下:
<Context path="/TestPortal" docBase="D:\TestPortal\webapp" debug="0" reloadable="true" crossContext="true">
</Context>
部署成功后,登录Liferay Portal,可以在桌面底部的下拉列表中看到HelloWorldPortlet和HelloJSPPortlet两个Portlet。将它们添加到桌面中。
第二节 Ant自动部署
确保之前已经安装Apache Ant,并正确添加ANT_HOME到系统环境变量。
①、拷贝之前打包的TestPortlet.war到{APP_HOME}/deploy目录;
②、 从http://prdownloads。sourceforge。net/lportal/Portlet-deployer-3。6。0。xml 下载Portlet-deployer-3.6.0.xml 到{APP_HOME}\deploy,改名为build。xml以便Ant自动加载;
③、确保JDK1.4.2和Ant 1.6安装成功,并配置到系统环境变量;
④、确保Tomcat或者其他服务器已经正确安装,或者Liferay Portal正常安装。
编 辑build.xml,使其只想你的应用服务器或者Servlet容器。比如,如果你安装JBoss+Jetty到/opt/liferay目录,那么编 辑build.xml,确保只有JBoss+Jetty部分没有被注释,修改app.server属性为/opt/liferay。
Build.xml默认是开启JBoss+Jetty部分,本文采用的是Tomcat集成包,所以将JBoss+Jetty部分注释掉,开始Tomcat部分。修改app.server.dir属性,指向{PORTAL_HOME}。如下图:
⑤、 命令行切换到到{APP_HOME}/deploy目录,执行 ant deploy ,系统会自动将TestPortal。war解压,必要时修改web.xml、portlet.xml等部署文件,将解压后的TestPortal文件夹 拷贝到{PORTAL_HOME}\webapps目录下。
启动Liferay Portal之前,建议先确认修改后的web.xml、portlet.xml等部署文件是否正确。
第三节 加入Liferay Portal自有列表
之 前我们提到过,Liferay Portal集成了78个默认的Portlet应用。这些应用都通过{PORTAL_HOME}\liferay\WEB-INF\目录下的 portlet.xml、liferay-portlet.xml、liferay-display。xml描述。我们只要更改这些描述文件,就可以将我 们自己的应用加入到Liferay Portal的Portlet列表中了,效果跟手动部署和Ant自动部署一样。
①、拷贝{APP_HOME}\webapp目录的内容到{PORTAL_HOME}\liferay\html\Portlet目录下,更改文件夹名称为TestPortal。
②、将TestPortal\WEB-INF\classes文件夹剪切到{PORTAL_HOME}\liferay\WEB-INF目录下。
③、 将TestPortal\WEB-INF\web。xml中<servlet>、<servlet-mapping>的内容合并 到{PORTAL_HOME}\liferay\WEB-INF\web.xml中。删除TestPortal\WEB-INF\web.xml。
④、 将TestPortal\WEB-INF\Portlet.xml中关于HelloWorldPortlet和HelloJSPPortlet的< portlet>的内容合并到{PORTAL_HOME}\liferay\WEB-INF\portlet.xml中。删除TestPortal \WEB-INF\ portlet.xml。
⑤、将TestPortal\WEB-INF\liferay-portlet.xml中关于 HelloWorldPortlet和HelloJSPPortlet的<portlet>的内容合并到{PORTAL_HOME}\ liferay\WEB-INF\liferay-portlet.xml中。删除TestPortal\WEB-INF\liferay- portlet.xml。
⑥、将TestPortal\WEB-INF\liferay-display.xml中关于 HelloWorldPortlet和HelloJSPPortlet的<portlet>的内容合并到{PORTAL_HOME}\ liferay\WEB-INF\liferay- display.xml中。删除TestPortal\WEB-INF\ liferay- display.xml。
这个方法比较复杂,而且不容易扩展和调试,通常不建议采用。
第四节 普通Java Web应用转化为Portlet应用
随 着开发的深入,我们希望能够将原来的Java Web应用迁移到Liferay Portal,构建真正的企业门户。Liferay Portal灵活的二次开发机制,允许用户将各种各样的内容集成到Portal平台上来,消除信息孤岛。将一个Java Web应用转化为Portlet应用的步骤如下:
①、撰写扩展自GenericPortlet的Portlet和JSP页面。这个Portlet可以使用PrintWriter输出或者调用JSP页面输出方式。通常,如果Java Web应用是采用MVC三层模式,那么只需要更改View层就可以了。
②、修改web.xml,增加2。6。1所述的Portlet监听器和Portlet标签库,增加针对上步骤所写的servlet和servlet映射。
<servlet>
<servlet-name>yourPortlet</servlet-name>
<servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
<init-param>
<param-name>Portlet-class</param-name>
<param-value>full.name.of.yourPortlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>yourPortlet</servlet-name>
<url-pattern>/yourPortlet/*</url-pattern>
</servlet-mapping>
③、创建portlet.xml,增加相应的Portlet定义信息,规范参考2.6.2。
④、创建liferay-portlet.xml,增加相应的Portlet定义信息,规范参考2.6.3。
⑤、创建liferay-display.xml,增加相应的Portlet类别定义信息,规范参考2.6.4。
⑥、 拷贝portlet.jar和liferay-Portlet.tld到当前应用。其中,portlet.jar是Portlet API包,作用类似servlet-api.jar,位于{PORTAL_HOME}\common\lib\ext\liferay- portlet.tld是Liferay Portal提供的Portlet标签库。
⑦、选择适当的部署方式,将修改后的Java Web应用部署到Portlet平台上。
No TrackBacks
TrackBack URL: http://www.wujianrong.com/mt-tb.cgi/1290
Categories
- 3G (61)
- AJAX (180)
- Apollo (2)
- CMS (26)
- CRM (11)
- DELPHI (31)
- FLEX (6)
- GOOGLE (364)
- HIBERNATE (35)
- J2EE (68)
- JAVA (230)
- JAVASCRIPT (75)
- JSP (46)
- LINUX (137)
- LUCENE (22)
- MYSQL (41)
- PATTERN (9)
- PHP (132)
- PYTHON (70)
- RUBY (13)
- SPRING (29)
- STRUTS (25)
- UE (21)
- WAP (19)
- WEB2.0 (125)
- WORDPRESS (12)
- XML (16)
- 人物 (84)
- 企业 (157)
- 其他 (38)
- 创投 (137)
- 商业 (1208)
- 增值 (15)
- 开源 (106)
- 技术 (267)
- 推广 (24)
- 搜索 (70)
- 新知 (2271)
- 生活 (330)
- 电商 (55)
- 算法 (19)
- 考试 (11)
- 职业 (28)
- 营销 (13)
- 资源 (329)
Monthly Archives
- August 2008 (62)
- July 2008 (145)
- June 2008 (122)
- May 2008 (136)
- April 2008 (207)
- March 2008 (216)
- February 2008 (132)
- January 2008 (166)
- December 2007 (176)
- November 2007 (200)
- October 2007 (266)
- September 2007 (172)
- August 2007 (213)
- July 2007 (173)
- June 2007 (167)
- May 2007 (215)
- April 2007 (261)
- March 2007 (313)
- February 2007 (164)
- January 2007 (93)
- December 2006 (120)
- November 2006 (144)
- October 2006 (196)
- September 2006 (88)
- August 2006 (84)
- July 2006 (142)
- June 2006 (62)
- May 2006 (63)
- April 2006 (114)
- March 2006 (51)
- February 2006 (106)
- January 2006 (84)
- December 2005 (62)
- November 2005 (41)
- October 2005 (16)
- September 2005 (23)
- August 2005 (37)
- July 2005 (49)
- June 2005 (78)
Pages
Search
About this Entry
This page contains a single entry by kevinwu published on October 31, 2006 10:57 AM.
Liferay 相关资源 was the previous entry in this blog.
Subversion快速入门教程(Subversion中文站) is the next entry in this blog.
Find recent content on the main index or look in the archives to find all content.

Leave a comment