分享
 
 
 

Liferay Portal额外研究(一):初步在新Tomcat下部署

王朝system·作者佚名  2007-06-02
窄屏简体版  字體: |||超大  

Liferay额外研究(一):初步在新Tomcat下部署

从现在开始,会把我最近在研究的开源Portal Liferay一些心得贴出来。研究Liferay版本:Liferay Professional 4.0.0

柯自聪兄弟写过一系列的Liferay Portal开发文章,参考http://www.blogjava.net/eamoi/。所以基础性内容,本文不再细说,可参考柯自聪的文章或Blog。

(一)部署Liferay Portlet

Liferay简单部署一个portlet并不是很复杂,通过WEB-INF目录下的portlet.xml、liferay-portlet.xml、liferay-display.xml描述即可。

描述

portlet.xml

portlet.xml用来定义Portlet的诸如部署名称、初始化参数、支持模式、resource bundle等普通的初始化信息,包括:portlet-name、display-name、portlet-class、init-param、expiration-cathe、supports、portlet-info、security-role-ref等等。其正式的规范请参考:http://java.sun.com/xml/ns/Portlet/Portlet-app_1_0.xsd

liferay-portlet.xml

定义Portlet默认可用的用户组、默认模板、是否支持多个实例等,规范由http://www.liferay.com/dtd/liferay-Portlet-app_3_5_0.dtd

liferay-display.xml

定义Portlet默认的所属类别。Liferay Portal对Portlet实行按类别管理和划分用户权限。

Liferay是基于Struts Template页面模版技术来实现页面的,所以Liferay默认提供了com.liferay.portlet.StrutsPortlet这个Portlet Class来完成Portlet处理的;当然为了简单对普通jsp页面的处理,Liferay也提供了com.liferay.portlet.JSPPortlet等其他Portlet Class。

Liferay扩展了Portlet Mode,增加了about,config,preview,print等几种模式。所以,开发人员基于Liferay进行扩展Portlet Class需要基于com.liferay.portlet.LiferayPortlet。当然,允许直接继承javax.portlet.GenericPortlet进行扩展。

(二)部署Liferay应用在新下载的Tomcat上

这一块耗费我不少时间,因为Liferay采用了其修改后的Tomcat(实际上是Tomcat5.5,这是我后来才知道的)。

但我很不喜欢Liferay这种绑定方式,而且默认开发必须采用其层层Ant Build方式,并且绑定其Tomcat或其他其修改后提供的server。——当然,在Liferay可能认为这样可以减少开发人员对环境配置的关心。

让我来看看,如何在一个新下载的Tomcat5.0.28上成功部署Liferay应用:

(1) 首先把liferay工程目录放置Tomcat_Home/目录下,当然,你可以放置在Tomcat_Home/web-apps目录下。

(2) 其次,需要把liferay默认的目录下的Common/lib/ext目录下的一些jar包copy到Tomcat_Home/common/lib 目录下。注意,不要放置在ext目录下,默认tomcat5.0.28是不自动加载ext目录下的jar包的,这跟Tomcat5.5不同。这些jar包主要是:hsql.jar,commons-logging.jar,log4j.jar这三个。

(3) 把liferay默认的目录下的Common/lib/ext中的portal-shared.jar 和 portlet.jar ,可以移到liferay应用的WEB-INF/lib中。

(4) 拷贝Root.xml到 Tomcat_Home\conf\Catalina\localhost目录下,配置webcontext信息。并在此配置DataSource。注意,liferay的默认运行中的配置是Tomcat5.5的写法,所以此处配置DataSource的写法,就必须更改为Tomcat5.0的写法。否则,运行过程中会抛“Cannot create JDBC driver of class '' for connect URL 'null'”异常。

<Context docBase="D:\Tomcat5028\ liferay" path="" reloadable="true">

<Resource name="jdbc/LiferayPool" auth="Container"

type="javax.sql.DataSource" />

<ResourceParams name="jdbc/LiferayPool">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

XXX(其他配置,此处略)

</ResourceParams>

</Context>

有关Liferay对连接池的引用,可以去Portal.properties配置文件中修改。默认此配置文件已经被打在了liferay的portal-ejb.jar中。

(5) 配置jaasconf。讲jaas.config文件放置在Tomcat_Home\conf目录下。并在catalina.bat文件中增加 -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config 来设置jaas的配置。当然,这首先一定要保证在前面的Root.xml的Context中配置JAASRealm。

//注意,暂时必须把liferay应用配置成为默认根应用,否则不可以正确运行。

<Context docBase="D:\Tomcat5028\ liferay" path="" reloadable="true">

<Realm className="org.apache.catalina.realm.JAASRealm"

appName="PortalRealm"

userClassNames="com.liferay.portal.security.jaas.PortalPrincipal"

roleClassNames="com.liferay.portal.security.jaas.PortalRole"

debug="99"

useContextClassLoader="false" />

</Context>

在jaas.config的文件中,设置如下内容:

PortalRealm {

com.liferay.portal.shared.security.jaas.PortalLoginModule required;

};

Jaas是需要被正确配置的,否则系统不可以正确登陆,而且会一直不断的访问/jaas_securit_check,而不能登陆。

基本上进行如上操作之后,即可在Tomcat5.0.28下单独运行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有