liferay从src到ext的过程

来源:互联网 发布:摄像头软件电脑版 编辑:程序博客网 时间:2024/05/17 12:19
本文重点在于自己开发Portlet,用于LifeRay.
一、开发环境的设置
开发环境为Tomcat+Eclipse+LifeRay,
其中Tomcat为5.0(以上)
这个文档是同样适用于liferay5.1.0
Eclipse为预装的。
1) 软件的下载
*下载JDK1.5/1.6
* 下载Jike1.22 (IBM的Java包)
官方文档声称这个软件不是必装的,可以使用 中的标准Jikes 1.21 J2SDK编译器代替,但是实际试验中,
使用标准编译器会出现一些奇怪的问题,而且 给出的编译错误信息也更为丰富,推荐安装使用。
* 下载LifeRay(4.3)
分别下载:
Liferay Enterprise Portal 4.3.0 (Bundled with Tomcat 5.5 for JDK 5.0) 用作运行环境
Liferay Portal 4.3.0 Source 源文件,用来编译开发
Liferay Portal 4.3.0 SQL Scripts: 包含用于和各种数据库连接的SQL脚本
*下载Tomcat Eclipse Plugin (Eclipse集成开发环境使用)
是Sysdeo这个插件,下载地址:http://www.sysdeo.com/eclipse/tomcatplugin
2)软件的配置
设置环境变量:(值仅为示范)
JAVA_HOME C:/j2sdk1.4.1_07
JIKES_HOME C:/jikes-1.21
Path:给 环境变量加入path %ANT_HOME%/bin;%JAVA_HOME%/bin;%JIKES_HOME%/bin
3)设置LifeRay的开发环境
将LifeRay的源代码解压到d:/lifeRay_src/portal/src下
将LifeRay 的Tomcat集成包 解压到 d:/lifeRay_tomcat (暂时的)
4)Eclipse 环境设置
(1)生成Portal项目
建立一个新的WorkPlace (最好这样,有一个干净的工作空间) 操作: File->switch workplace
在新的WorkPlace中建立一个新的Java Project, 名称为Portal.目录指向d:/lifeRay_src/portal
(下面蓝色部分有问题,不过不是大问题)
首先要在 目录下建立一个名为d:/liferay/portal release.${username}.properties的配置文件,其中${username} 就
是当前登陆的用户名,内容是
lp.ext.dir={Liferay}/ext
其中{Liferay} 源代码存放的上级目录,比如我写的这一行就是
lp.ext.dir=d:/lifeRay_src/ext
然后在Eclipse的菜单中选择Window->Show View->Ant ,在新出现的Ant 标签栏点击加号,选择项目源码根目录上的build.xml 文件;
然后依次执行build.xml中的clean, start, build-ext 三个任务。这样就会在d:/lifeRay_src/ext目录下生成LifeRay扩展Portlet(Ext)的源码目录结构。
下面我们的开发都是在Ext中进行了。
这里的lp.ext.dir的地址设置需要注意,lp.ext.dir=d:/liferay5-ext/ext
如果地址的盘符假设是d盘,而源代码也就是src工程也正好在d盘假设:src的路径是:D:/eclipse/workspace/ext5src,那么不管路径怎么设置,默认的builder.xml文件,生成的扩展开发环境的工程ext都是:d:/eclipse/workspace/ext5src/liferay5-ext/ext


(2)生成Ext项目
建立一个新的Java Project, 名称为Ext.目录指向d:/lifeRay_src/ext。
然后将我们前面下载的Liferay Enterprise Portal 4.3.0 (Bundled with Tomcat 5.5 for JDK 5.0) 解压,拷贝到 d:/lifeRay_src/ext/servers/tomcat 目录下,
这样我们就建立了LifeRay的集成tomcat运行环境。
(下面蓝色部分有问题,不过不是大问题)
下一步就是在Ext和Tomcat的集成环境间建立联系,通过在d:/lifeRay_src/ext 下建立一个app.server.{username}.properties的配置文件。其中${username} 就
是当前登陆的用户名,内容是
lp.ext.dir={Liferay}/ext
app.server.type=tomcat
其中{Liferay} 源代码存放的上级目录。
到目前为止,我们的开发环境就已经搭建好了,针对ext的源代码的修改可以通过运行d:/lifeRay_src/ext 下面的build.xml(通过ant),中的deploy任务,编译源代码,并将其部署到tomcat中。然后我们就可以通过Eclipse中的 tomcat插件(当然要事先配置tomcat属性,使其指向 d:/lifeRay_src/ext/servers/tomcat ),启动tomcat,查看liferay的运行结果了。

出现的问题:如果是采用myeclipse5.5的插件,因为默认的ant的版本是1.65,所以在执行ant的时候,需要用到ant1.7,不然无法执行ant:
出现的情况:
MyEclipse5.5 下用ant1.7.0,clean时报错,

Buildfile: D:/workspace/lp/build.xml

BUILD FAILED
D:/workspace/lp/build.xml:6: The following error occurred while executing this line:
D:/workspace/lp/build-common.xml:119: Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the nested "antversion" element.

build-common.xml:119:的代码如下:

<condition property="correct.ant.version">
<antversion atleast="1.7.0" />
</condition>

我已经从新bulid工程3便了,进度都是100%还是不行,ant用的是1.7.0版啊。
release.administrator.properties的内容是:
lp.ext.dir=d:/workspace/ext

以上情况需要:
首先打开myeclipse5.5
选择window-->preferences-->Ant-->Runtimes
设置antHome
默认的是1.6.5的版本。需要找个1.70的ant放到myeclipse的插件包下面,然后再设置antHome。

5)更换数据库
默认情况下,liferay使用的是其内置的HSQL数据库,用来验证倒是可以,可是做开发或应用,一般要改变数据库,至少是MySql.更改数据库的配置在文件:d:/lifeRay_src/ext/servers/tomcat /conf/Catalina/localhost/root.xml中,我们只要把其DataSource修改到指定的数据库中即可.例如修改为 MySql是:
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/lportal?
useUnicode=true&characterEncoding=UTF-8"
username="liferay"
password="sql606"
maxActive="100"
maxIdle="30"
maxWait="10000"



请注意,这里如果按照官方文档的说法设置会出现错误,官方文档将数据库url中的&没有转义为&,这点需要自己注意。
原创粉丝点击