从现在开始,会把我最近在研究的开源Portal Liferay一些心得贴出来。研究Liferay版本:Liferay Professional 4.0.0
(一)部署Liferay Portlet
Liferay简单部署一个portlet并不是很复杂,通过WEB-INF目录下的portlet.xml、liferay-portlet.xml、liferay-display.xml描述即可。
| 描述 |
portlet.xml | |
liferay-portlet.xml | |
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下单独运行。
分享到:
相关推荐
【Liferay Portal额外研究】 Liferay Portal是一款开源的企业级门户平台,它提供了丰富的功能和高度的可定制性,用于构建企业内部或外部的网站、工作流应用和协作平台。在这个额外研究中,我们将探讨如何在新的...
在IT行业中,Liferay Portal是一款广泛使用的开源企业级门户平台,它允许用户构建、管理和部署各种Web应用程序。Tomcat作为一款流行的Apache软件基金会的Servlet容器,常常被用作Liferay Portal的运行环境。然而,...
Liferay Portal是一款开源的企业级门户平台,用于构建和管理复杂的企业网站、社交网络以及工作流程。本篇将详细介绍如何搭建Liferay 5.2.3的开发环境。 1. 关于 Liferay Liferay Portal提供了丰富的功能,如内容...
- **liferay-portal-tomcat-5.1.zip:** 包含 Liferay Portal 与 Tomcat 集成的预配置版本,方便快速部署。 **3. 建立工作空间及项目结构:** - 创建工作空间,例如:`d:\liferay`。 - 解压 `liferay-portal-...
为了使Liferay能够连接至MySQL数据库,需在`tomcat-6.0.26\webapps\ROOT\WEB-INF\classes`目录下创建一个名为`portal-ext.properties`的文件,用于存储数据库配置信息。具体配置包括: ``` jdbc.default....
- **在现有应用服务器上安装Liferay**:Liferay可以在多种应用服务器上运行,例如GlassFish、Jetty、JBoss、Resin、Tomcat、WebLogic和WebSphere等。每种应用服务器的安装步骤略有不同。 #### 进阶主题 - **定制和...
在本教程中,我们将深入探讨如何在Ubuntu 14.04操作系统上成功安装Liferay 7.1,这是一个流行的开源企业级门户平台。Liferay提供了丰富的功能,如内容管理、社交媒体集成、工作流程和协作工具,使得它成为构建企业...
它基于Apache Tomcat、Liferay Enterprise Portal、Apache Struts、Hibernate ORM、Velocity和Lucene等技术构建,适合Eclipse IDE开发环境,采用Velocity+Struts前端框架,遵循Dotmarketing Public License许可协议...