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

2023-10-29 02:08

本文主要是介绍Liferay Portal额外研究(一):初步在新Tomcat下部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

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

2009-11-09 10:37:41 |  分类: Java-Web 阅读65 评论0   字号:   订阅

从现在开始,会把我最近在研究的开源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=蔜ALINA_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额外研究(一):初步在新Tomcat下部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/297535

相关文章

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

若依部署Nginx和Tomcat全过程

《若依部署Nginx和Tomcat全过程》文章总结了两种部署方法:Nginx部署和Tomcat部署,Nginx部署包括打包、将dist文件拉到指定目录、配置nginx.conf等步骤,Tomcat部署... 目录Nginx部署后端部署Tomcat部署出现问题:点击刷新404总结Nginx部署第一步:打包

Nginx、Tomcat等项目部署问题以及解决流程

《Nginx、Tomcat等项目部署问题以及解决流程》本文总结了项目部署中常见的four类问题及其解决方法:Nginx未按预期显示结果、端口未开启、日志分析的重要性以及开发环境与生产环境运行结果不一致... 目录前言1. Nginx部署后未按预期显示结果1.1 查看Nginx的启动情况1.2 解决启动失败的

tomcat在nginx中的配置方式

《tomcat在nginx中的配置方式》文章介绍了如何在Linux系统上安装和配置Tomcat,并通过Nginx进行代理,首先,下载并解压Tomcat压缩包,然后启动Tomcat并查看日志,接着,配置... 目录一、下载安装tomcat二、启动tomcat三、配置nginx总结提示:文章写完后,目录可以自动

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推