LifeRay Portal606学习手册.docx

上传人:b****6 文档编号:7321344 上传时间:2023-05-11 格式:DOCX 页数:28 大小:1.11MB
下载 相关 举报
LifeRay Portal606学习手册.docx_第1页
第1页 / 共28页
LifeRay Portal606学习手册.docx_第2页
第2页 / 共28页
LifeRay Portal606学习手册.docx_第3页
第3页 / 共28页
LifeRay Portal606学习手册.docx_第4页
第4页 / 共28页
LifeRay Portal606学习手册.docx_第5页
第5页 / 共28页
LifeRay Portal606学习手册.docx_第6页
第6页 / 共28页
LifeRay Portal606学习手册.docx_第7页
第7页 / 共28页
LifeRay Portal606学习手册.docx_第8页
第8页 / 共28页
LifeRay Portal606学习手册.docx_第9页
第9页 / 共28页
LifeRay Portal606学习手册.docx_第10页
第10页 / 共28页
LifeRay Portal606学习手册.docx_第11页
第11页 / 共28页
LifeRay Portal606学习手册.docx_第12页
第12页 / 共28页
LifeRay Portal606学习手册.docx_第13页
第13页 / 共28页
LifeRay Portal606学习手册.docx_第14页
第14页 / 共28页
LifeRay Portal606学习手册.docx_第15页
第15页 / 共28页
LifeRay Portal606学习手册.docx_第16页
第16页 / 共28页
LifeRay Portal606学习手册.docx_第17页
第17页 / 共28页
LifeRay Portal606学习手册.docx_第18页
第18页 / 共28页
LifeRay Portal606学习手册.docx_第19页
第19页 / 共28页
LifeRay Portal606学习手册.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

LifeRay Portal606学习手册.docx

《LifeRay Portal606学习手册.docx》由会员分享,可在线阅读,更多相关《LifeRay Portal606学习手册.docx(28页珍藏版)》请在冰点文库上搜索。

LifeRay Portal606学习手册.docx

LifeRayPortal606学习手册

 

LiferayPortal6.0.6

学习笔记

 

作者:

李少华

邮箱:

xiaosanshaoli@

QQ:

305409913

2011-11-03初稿

 

刚刚开始学习使用LiferayPortal,希望能在上面做二次开发。

网上的资料非常丰富,为了学习方便,自己也整理了两周来学习的笔记,以作后面的参考。

因为比较仓促,所以内容可能有错误,希望能指出并更正。

文档也以doc文档而不是pdf,就是方便大家能继续添加内容,发扬开源的精神,互相学习。

开发环境:

JDK1.6

Eclipse3.7

Tomcat6.0.33

MySQL5(Oracle10g)

Winows7旗舰版

示例源码请联系我获取。

1.LifeRayPortal初体验

登录LifeRayPortal官网

liferay-portal-tomcat-6.0.6-20110225.zip

liferay-plugins-sdk-6.0.6-20110225.zip---liferayportalSDK

liferay-ide-eclipse-updatesite-1.3.1.zip---liferayportalIDE

liferay-portal-src-6.0.6-20110225.zip---liferayportal源码

把liferay-portal-tomcat-6.0.6-20110225.zip解压在本地磁盘,目录结构如下:

不多做解释,网上入门的资料很多。

它里面自带了一个tomcat-6.0.29,进入tomcat的bin目录

(D:

\liferay-portal-6.0.6\tomcat-6.0.29\bin)下,双击startup.bat启动tomcat,启动成功后就会自动打开一个IE窗口:

http:

//localhost:

8080

test@

修改显示类型的语言为简体中文,OK,好好的体验LifeRayPortal吧。

2.安装一个纯净版的Eclipse、

下载一个JavaEE版本的Eclipse,网址:

http:

//www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr1

选择工作空间D:

\workspaceI,windows---preferences,选择general下额Workspace项,设置工作空间编码格式为UTF-8;

3.解压LifeRayportal源码

把liferay-portal-src-6.0.6-20110225.zip放入工作空间D:

\workspaceI,右键解压到当前文件夹,重命名解压后的文件夹liferay-portal-src-6.0.6名字为portal;目录结构如下:

4.导入LifeRayportal源码

File---Import---General---ExistingProject。

选择D:

\workspaceI\portal,finish

工程编译后不报错就导入成功了!

如下图所示:

5.配置开发环境参数

找到工程目录下的app.server.properties文件,打开,配置Tomcat的主要配置信息截图如下:

参数解析:

app.server.parent.dir=${project.dir}/../bundles

app.server.tomcat.dir=${app.server.parent.dir}/tomcat-6.0.29

上面两个参数指定了Tomcat的所在地和版本信息:

首先,Tomcat位于工程同等目录下的bundles目录下;

其次,tomcat的文件夹名是tomcat-6.0.29;

当前我的Eclipse工作空间是D:

\workspaceI,工程名字是portal,因此,新建文件夹bundles,和工程portal同级目录,准备在它下面存放tomcat服务器。

app.server.tomcat.zip.name=apache-tomcat-6.0.29.zip

app.server.tomcat.zip.url=http:

//archive.apache.org/dist/tomcat/tomcat-6/v6.0.29/bin/${app.server.tomcat.zip.name}

这两个参数主要用于指定tomcat的zip文件夹路径,因为在Ant的builder.xml中会先判断bundles下是否存在tomcat-6.0.29目录,如果存在在先删除该目录,再通过ZIP解压一个纯净的Tomcat出来。

如果ZIP文件也没有,则指定ZIP的url先下载(可以看出它是tomcat的官网下载地址哎)一个。

我们当然不会下载了,主要指定ZIP文件路径即可。

我在官网上下载的tomcat是

apache-tomcat-6.0.33-windows-x86.zip,解压后文件名是

apache-tomcat-6.0.33

因此,先把apache-tomcat-6.0.33-windows-x86.zip存放在bundles下,然后指定一下三个参数:

app.server.tomcat.dir=${app.server.parent.dir}/apache-tomcat-6.0.33

app.server.tomcat.zip.name=apache-tomcat-6.0.33-windows-x86.zip

app.server.tomcat.zip.url=${app.server.parent.dir}/${app.server.tomcat.zip.name}

指定从bundles找到tomcat的zip包apache-tomcat-6.0.33-windows-x86.zip,然后解压到bundles目录下,文件夹名为apache-tomcat-6.0.33;

(主要一定要确认ZIP解压后就是你上面定义好的解压目录名哦)

如果不希望Tomcat放在工程同级目录下,已经存在于其他目录,比如你的Tomcat路径是:

D:

\javaWares\apache-tomcat-6.0.33,则配置下面这个参数:

app.server.parent.dir=D:

/javaWares

一定注意:

无论tomcat存放在哪个地方,都要指定ZIP的路径,因为我们使用liferay的build.xml时候,都会先删除存在的tomcat目录,在新解压一个纯净版的tomcat,更重要的是解压后会拷贝很重要的一些lib到tomcat的lib目录下的。

找到工程目录下的release.properties,打开查看:

这里指定需要编译的源码的路径,我们就是存在工程源码,所以指定到当前工程所在的文件夹即可,修改参数如下:

lp.source.dir=${project.dir}/..

6.ANT编译部署

Windows----showview---ANT,把ant放入控制台;拖放工程目录下的

build.xml,build-dist.xml和portal-web下的build.xml到ant工作空间,如下所示:

先执行portal-dist下的build-dist-tomcat,配置tomcat环境

依次顺序执行portal下的clean,compiler[defaule],deploy,start;

(----ANT执行异常处理---

如果执行ant时候抛出一下异常

Buildfile:

D:

\workspaceII\portal\build.xml

BUILDFAILED

D:

\workspaceII\portal\build.xml:

6:

Thefollowingerroroccurredwhileexecutingthisline:

D:

\workspaceII\portal\build-common.xml:

245:

.

PleasesettheenvironmentvariableANT_OPTStotherecommendedvalueof

"-Xmx1024m-XX:

MaxPermSize=256m".

Totaltime:

1second

需要配置ANT运行时的环境变量。

Ernalonfigurations

邮件build.xml----RunAs-----External。

选择Enviroment选项卡,创建新的环境变量

重新执行ant脚本。

执行完ANT任务,到目录D:

\workspaceIII\bundles\apache-tomcat-6.0.33\bin执行下startup.bat,启动tomcat;

启动tomcat成功后会发现,主动打开了IE窗口:

http:

//localhost:

8080/zh/

但是页面为空,查看tomcat日志信息:

这是因为LifeRay内置的theme木有安装,在Ant控制台,执行portal-web下的build-themes和deploy;

成功后看控制台提示信息:

build-vaadin:

compile:

build-common-web.deploy:

[copy]Copying1189filestoD:

\workspaceIII\bundles\apache-tomcat-6.0.33\webapps\ROOT

BUILDSUCCESSFUL

Totaltime:

12seconds

Theme安装到tomcat下了;

刷新IE页面,成功。

7.数据库切换

LeftRayportal默认的数据库是HSql,只做演示使用。

因此,我们需要考虑切换它的数据库到我们的开发数据库中。

从portal6的版本后,只需要修改配置文件就,启动时候可自由的切换数据库,而且会自动为数据库创建表结构。

建议使用MySQL数据库。

这里以Oracle10g数据库为例,说明如何切换数据库。

1.创建Oracle数据库ORCL,创建用户lportal\lportal;

2.在portal源码的portal-impl/src目录下新建portal-ext.properties,内容如下:

#Oracle10g

jdbc.default.driverClassName=oracle.jdbc.driver.OracleDriver

jdbc.default.url=jdbc:

oracle:

thin:

@10.10.10.76:

1521:

ORCL

jdbc.default.username=lportal

jdbc.default.password=lportal

#MySql

#jdbc.default.driverClassName=com.mysql.jdbc.Driver

#jdbc.default.url=jdbc:

mysql:

//localhost/lportal?

useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false

#jdbc.default.username=root

#jdbc.default.password=root

hibernate.dialect=org.hibernate.dialect.Oracle9Dialect

不需要解释含义吧!

注意:

一定要指定hibernate的数据库方言,尤其是切换为ORACLE数据库;

3.重新执行ANT下的build.xml的clean,compiler[defaule],deploy,start四个任务;

执行完后,到Tomcat的\webapps\ROOT\WEB-INF\classes下会发现

(D:

\workspaceIII\bundles\apache-tomcat-6.0.33\webapps\ROOT\WEB-INF\classes)

portal-ext.properties已经存在其下了。

4.在Tomcat下添加驱动文件

D:

\workspaceI\bundles\apache-tomcat-6.0.33\lib下放入oracle的驱动文件ojdbc14.jar;

5.重新启动tomcat;

查看oracle数据库,发现多出159张portal所需要的表信息。

测试一下表的数据添加:

Test用户登录,管理—控制面板,选择门户—用户,新增用户,保存,添加密码!

OK,查看数据库,会发现,在user_新增了一条记录,就是刚新建的用户。

此时就可以用新建的用户登录了。

8.设置Debug模式

导入源码后,如何进行源码的单步调试呢?

可以通过设置tomcat服务器实现。

但是,前提前提条件是Eclipse必须安装LifeRayIDE和LifeRaySDK。

配置LifeRayIDE和SDK:

(已经配置安装的可以跳过此步)

首先:

从liferay官网下载LifeRayIDE

(liferay-ide-eclipse-updatesite-1.3.1.zip)和LifeRaySDK

(liferay-plugins-sdk-6.0.6-20110225.zip)。

从Eclipse中,选择Help---InstallNewSoftware…

选择add,Name:

LifeRayIDE,Location就是本地的IDE压缩包,确定。

只选择LifeRayIDE,下一步,直到安装成功,重启Eclipse。

如果出现下面图标,OK,LifeRayIDE安装成功。

安装LifeRaySDK,如下,NewLifeRaySDK:

选择解压后的SDK目录,OK。

确认后就成功了

下面,就可以设置LifeRayPortal的Debug模式了。

先添加一个Liferay服务器。

在Servers面板内右键newserver,添加一个LifeRayv6.0CEServer.

或者在通过如下按钮直接NewLifeRayServer

下一步,选择自定义的Tomcat的目录:

其他默认设置,直接Finish。

查看我们的server,会发现出现下面的标准:

OK,我们的自定义tomcat服务器设置完了。

现在设置它关联的源码:

1.双击新建的服务器:

选择OpenLunchConfiguration

2.在弹出框内,选择Source选项卡,Add,JavaProject,选择我们的Portal源码,确认。

现在,直接右键LifeRayV6.0CEServer,选择Debug模式就可以单步调试程序了。

Ctrl+Shif+R,输入MainServlet.java,在其service方法上添加断点,尝试调试下源码。

搞定!

9.基于Struts2的Portlet示例开发

9.1新建一个LifeRayProject

新建一个LifeRayProject:

StudentMan

右键项目StudentMan,BuildPath----ConfigBuildPath,在project下添加portal源码应用,如下图所示:

9.2使用buildservice生成简单表的CRUD操作

在src下新建包com.ecdata.liferay.student

在student包下新建service.xml,内容如下:

xmlversion="1.0"?

>

DOCTYPEservice-builderPUBLIC"-//Liferay//DTDServiceBuilder6.0.0//EN""

Library

remote-service="true">

--PKfields-->

--Otherfields-->

--finder-->

Student

保存后,会发现service.xml变成了一个小齿轮,如下图:

右键service.xml,选择liferay---BuildServices

此时会提示正在使用buildservice构建项目代码:

构建成功后,刷新项目工程,会发现在student包下多了很多的类:

在docroot/WEB-INF下也多了很多java文件

这就是通过配置service.xml文件,使用buildservice工具生成基类源码的过程(至于service.xml参数含义以及buildservice的其他使用方法,以后再解释)。

在包com.ecdata.liferay.student.service.impl下找到

StudentLocalServiceImpl.java文件,发现里面什么内容都没有,添加对student对象的CRDU方法如下:

publicStudentcreate(Studentmodel)throwsSystemException{

//注意portalUUID的获取是通过公共接口CounterLocalServiceUtil.increment产生滴

longid=CounterLocalServiceUtil.increment(Student.class.getName());

model.setStuId(id);

StudentnewModel=StudentUtil.create(model.getPrimaryKey());

newModel.setStuName(model.getStuName());

newModel.setAddress(model.getAddress());

newModel.setBirthday(model.getBirthday());

newModel.setSex(model.getSex());

StudentUtil.update(newModel,true);

returnnewModel;

}

publicStudentremove(longid)throwsNoSuchStudentException,

SystemException{

returnStudentUtil.remove(id);

}

publicStudentupdate(Studentmodel)throwsNoSuchStudentException,

SystemException{

StudentnewModel=StudentUtil.findByPrimaryKey(model.getStuId());

newModel.setStuName(model.getStuName());

newModel.setAddress(model.getAddress());

newModel.setBirthday(model.getBirthday());

newModel.setSex(model.getSex());

StudentUtil.update(newModel,true);

returnnewModel;

}

publicListfindAll()throwsSystemException{

returnStudentUtil.findAll();

}

publicListfindByStuName(StringstuName)throwsSystemException{

returnStudentUtil.findBystuName(stuName);

}

再次对service.xml文件执行buildeservice操作---一定要再次执行哦!

如下(其实和上面的buildeservice操作一样)

在包com.ecdata.liferay.student.service.impl下找到

StudentServiceImpl.java文件,发现里面什么内容都没有,添加对student对象的CRDU方法如下:

publicStudentcreate(Studentmodel)throwsSystemException{

returnStudentLocalServiceUtil.create(model);

}

publicStudentremove(longid)throwsNoSuchStudentException,SystemException{

returnStudentLocalServiceUtil.remove(id);

}

publicStudentupdate(Studentmodel)throwsNoSuchStudentException,

SystemException{

retu

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2