`
esffor
  • 浏览: 1363090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
从现在开始,会把我最近在研究的开源Portal Liferay一些心得贴出来。研究Liferay版本:Liferay Professional 4.0.0
 
柯自聪兄弟写过一系列的Liferay Portal开发文章,参考http://www.blogjava.net/eamoi/。所以基础性内容,本文不再细说,可参考柯自聪的文章或Blog
 
(一)部署Liferay Portlet
       Liferay简单部署一个portlet并不是很复杂,通过WEB-INF目录下的portlet.xmlliferay-portlet.xmlliferay-display.xml描述即可。
 
 
描述
portlet.xml
portlet.xml用来定义Portlet的诸如部署名称、初始化参数、支持模式、resource bundle等普通的初始化信息,包括:portlet-namedisplay-nameportlet-classinit-paramexpiration-cathesupportsportlet-infosecurity-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 PortalPortlet实行按类别管理和划分用户权限。
 
       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目录下的一些jarcopyTomcat_Home/common/lib 目录下。注意,不要放置在ext目录下,默认tomcat5.0.28是不自动加载ext目录下的jar包的,这跟Tomcat5.5不同。这些jar包主要是:hsql.jarcommons-logging.jarlog4j.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配置文件中修改。默认此配置文件已经被打在了liferayportal-ejb.jar中。
 
(5)       配置jaasconf。讲jaas.config文件放置在Tomcat_Home\conf目录下。并在catalina.bat文件中增加 -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config 来设置jaas的配置。当然,这首先一定要保证在前面的Root.xmlContext中配置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额外研究

    在这个额外研究中,我们将探讨如何在新的Tomcat服务器上部署Liferay Portal以及其Portlet。 首先,了解Portlet的部署过程至关重要。Liferay Portal使用portlet.xml、liferay-portlet.xml和liferay-display.xml这三...

    搭建liferay portal的开发环境.doc

    2. **部署Tomcat**:解压`liferay-portal-tomcat-jdk5-4.0.0.zip`文件,将其内容复制到`liferayPortal`项目的根目录下,并重命名为`tomcat`。 3. **整合Liferay目录**:从`liferayPortal/tomcat`目录中,将`liferay...

    liferay-portal配置tomcat使用的jar包

    在IT行业中,Liferay Portal是一款广泛使用的开源企业级门户平台,它允许用户构建、管理和部署各种Web应用程序。Tomcat作为一款流行的Apache软件基金会的Servlet容器,常常被用作Liferay Portal的运行环境。然而,...

    liferay portal 开发指南

    - **热部署**:允许开发者在不重启服务器的情况下部署新的插件。 - **手动部署**:通过复制文件到特定目录的方式部署插件。 2. **开发流程**: - **编写简单的 JSR-168 Portlet**:遵循 JSR-168 规范编写基本的 ...

    liferay portal开发大全

    **Liferay Portal 开发大全** Liferay Portal 是一个开源的企业级门户平台,广泛用于构建复杂的Web应用程序和企业内部...在实际工作中,不断探索和学习Liferay的新特性和最佳实践,将有助于提升开发效率和产品质量。

    liferay portal 开发实例

    为了运行这些实例,你需要在Eclipse中创建一个新的Liferay Portlet项目,并将提供的源代码复制到项目中。确保你的Eclipse已经配置了Liferay插件,并且安装了相应的Liferay版本的库,这样可以避免编译错误和依赖问题...

    liferay Portal 的学习书籍

    Liferay Portal是一种开源的企业门户解决方案,支持使用Java语言构建企业内部网(intranets)和其他协作平台。根据提供的内容片段,我们可以了解到一些关于Liferay Portal书籍的具体信息,这本书是外国人编写的,受...

    liferay portal 6 使用文档

    Liferay Portal 6的部署相对灵活,既可以在本地服务器上运行,也可以在云平台上部署。对于大规模的企业,还可以选择分布式部署,以提高系统的响应速度和处理能力。在维护方面,Liferay提供了详细的文档和社区支持,...

    Liferay部署

    1. 在服务器上直接部署项目,将需要发布的项目打成war包,然后直接把war包直接拖到/liferay-portal-6.2-ce-ga2/deploy目录下即可完成项目的部署。 2. 登录后台,在PC端页面上上传发布。首先需要进入控制面板,然后...

    Liferay Portal文档

    《Liferay Portal文档》是一份详尽的指南,主要介绍了Liferay Portal的架构、工作原理及其核心组件——Portlet。Liferay Portal是一款开源的企业级门户平台,它提供了丰富的功能,如内容管理、社交网络、协作工具等...

    Liferay Portal Systems Development

    Liferay Portal是一个开源的企业级门户解决方案,它允许用户构建和部署Web应用程序和门户。它支持多种插件,包括Portlets(小应用程序)、主题、布局模板等,使得开发者能够灵活地创建企业级应用。 在描述中提到的...

    liferay Portal 求助

    Liferay Portal 是一个开源的企业级门户平台,它允许用户创建、管理和定制各种Web应用程序和内容。这个求助主题可能涉及到在使用Liferay Portal过程中遇到的问题,或者是寻求关于如何更有效地利用其特性和功能的建议...

    Liferay Portal 二次开发指南

    #### 一、Liferay Portal 架构解析 ##### 1.1 Portal规范 Liferay Portal遵循了两种主要的门户规范:JSR 168 和 WSRP (Web Services for Remote Portlets)。JSR 168是一个Java规范请求,用于定义Portlet容器和...

    深入浅出Liferay Portal(整理自网络博客)

    这将在指定目录下生成一个EXT目录,包含开发Liferay所需的所有资源。 7. **配置EXT开发成果到Tomcat**:在EXT环境中开发的新功能或模块需要配置到Tomcat服务器上才能使用。在EXT目录中进行相应的配置,确保EXT中的...

    Liferay Portal 内容管理

    【Liferay Portal 内容管理】是企业级门户平台Liferay Portal的重要组成部分,它提供了丰富的文档管理和信息发布功能,便于组织内部的信息共享与协作。 在Liferay Portal中,文档管理主要通过【Document Library】...

    liferay+Portal+二次开发指南

    - **WSRP (Web Services for Remote Portlets)**: 一种允许portlet远程部署的标准,使得portlet可以在不同的服务器之间共享。 ##### 第二节 什么是 Portal - **Portal 服务器**: 提供门户服务的应用服务器,管理...

Global site tag (gtag.js) - Google Analytics