﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-自由的天空-文章分类-portal</title><link>http://www.blogjava.net/sky_free/category/24582.html</link><description>这一刻我飞了起来</description><language>zh-cn</language><lastBuildDate>Sat, 04 Aug 2007 15:21:15 GMT</lastBuildDate><pubDate>Sat, 04 Aug 2007 15:21:15 GMT</pubDate><ttl>60</ttl><item><title>LifeRay portal 开发初探（一 ） </title><link>http://www.blogjava.net/sky_free/articles/133971.html</link><dc:creator>自由的天空</dc:creator><author>自由的天空</author><pubDate>Thu, 02 Aug 2007 04:48:00 GMT</pubDate><guid>http://www.blogjava.net/sky_free/articles/133971.html</guid><wfw:comment>http://www.blogjava.net/sky_free/comments/133971.html</wfw:comment><comments>http://www.blogjava.net/sky_free/articles/133971.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sky_free/comments/commentRss/133971.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sky_free/services/trackbacks/133971.html</trackback:ping><description><![CDATA[本文重点在于自己开发Portlet，用于LifeRay.<br>一、开发环境的设置<br>开发环境为Tomcat+Eclipse+LifeRay，<br>其中Tomcat为5.0(以上），Eclipse为欧罗巴 J2ee版本 3.30， lifeRay版本为4.3.<br>Eclipse为预装的。<br>1) 软件的下载<br>*下载JDK1.5/1.6<br>* 下载Jike1.22 (IBM的Java包）<br>官方文档声称这个软件不是必装的，可以使用 中的标准Jikes 1.21 J2SDK编译器代替，但是实际试验中，<br>使用标准编译器会出现一些奇怪的问题，而且 给出的编译错误信息也更为丰富，推荐安装使用。<br>* 下载LifeRay（4.3）<br>分别下载：<br>Liferay Enterprise Portal 4.3.0 (Bundled with Tomcat 5.5 for JDK 5.0) 用作运行环境<br>Liferay Portal 4.3.0 Source 源文件，用来编译开发<br>Liferay Portal 4.3.0 SQL Scripts: 包含用于和各种数据库连接的SQL脚本<br>*下载Tomcat Eclipse Plugin （Eclipse集成开发环境使用）<br>是Sysdeo这个插件，下载地址：http://www.sysdeo.com/eclipse/tomcatplugin<br>2）软件的配置<br>设置环境变量：（值仅为示范）<br>JAVA_HOME C:\j2sdk1.4.1_07<br>JIKES_HOME C:\jikes-1.21<br>Path:给 环境变量加入path %ANT_HOME%\bin;%JAVA_HOME%\bin;%JIKES_HOME%\bin<br>3)设置LifeRay的开发环境<br>将LifeRay的源代码解压到d:\lifeRay_src\portal\src下<br>将LifeRay 的Tomcat集成包 解压到 d:\lifeRay_tomcat (暂时的）<br>4）Eclipse 环境设置<br>（1）生成Portal项目<br>建立一个新的WorkPlace (最好这样，有一个干净的工作空间） 操作: File-&gt;switch workplace<br>在新的WorkPlace中建立一个新的Java Project, 名称为Portal.目录指向d:\lifeRay_src\portal<br>（下面蓝色部分有问题，不过不是大问题）<br>首先要在 目录下建立一个名为d:\liferay\portal release.${username}.properties的配置文件，其中${username} 就<br>是当前登陆的用户名,内容是<br>lp.ext.dir={Liferay}/ext<br>其中{Liferay} 源代码存放的上级目录，比如我写的这一行就是<br>lp.ext.dir=d:\lifeRay_src/ext<br>然后在Eclipse的菜单中选择Window-&gt;Show View-&gt;Ant ，在新出现的Ant 标签栏点击加号，选择项目源码根目录上的build.xml 文件；<br>然后依次执行build.xml中的clean, start, build-ext 三个任务。这样就会在d:\lifeRay_src\ext目录下生成LifeRay扩展Portlet(Ext)的源码目录结构。<br>下面我们的开发都是在Ext中进行了。<br>(2)生成Ext项目<br>建立一个新的Java Project, 名称为Ext.目录指向d:\lifeRay_src\ext。<br>然后将我们前面下载的Liferay Enterprise Portal 4.3.0 (Bundled with Tomcat 5.5 for JDK 5.0) 解压，拷贝到 d:\lifeRay_src\ext\servers\tomcat 目录下，<br>这样我们就建立了LifeRay的集成tomcat运行环境。<br>（下面蓝色部分有问题，不过不是大问题）<br>下一步就是在Ext和Tomcat的集成环境间建立联系，通过在d:\lifeRay_src\ext 下建立一个app.server.{username}.properties的配置文件。其中${username} 就<br>是当前登陆的用户名,内容是<br>lp.ext.dir={Liferay}/ext<br>app.server.type=tomcat<br>其中{Liferay} 源代码存放的上级目录。<br>到目前为止，我们的开发环境就已经搭建好了，针对ext的源代码的修改可以通过运行d:\lifeRay_src/ext 下面的build.xml(通过ant),中的deploy任务，编译源代码，并将其部署到tomcat中。然后我们就可以通过Eclipse中的 tomcat插件（当然要事先配置tomcat属性，使其指向 d:\lifeRay_src\ext\servers\tomcat ），启动tomcat,查看liferay的运行结果了。<br>5）更换数据库<br>默认情况下，liferay使用的是其内置的HSQL数据库，用来验证倒是可以，可是做开发或应用，一般要改变数据库，至少是MySql.更改数据库的配置在文件：d:\lifeRay_src\ext\servers\tomcat \conf\Catalina\localhost\root.xml中，我们只要把其DataSource修改到指定的数据库中即可.例如修改为 MySql是：<br><br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">name</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">jdbc/LiferayPool</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>auth</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">Container</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>type</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">javax.sql.DataSource</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>driverClassName</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">com.mysql.jdbc.Driver</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>url</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">jdbc:mysql://localhost/lportal?<br>useUnicode=true&amp;characterEncoding=UTF-8</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>username</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">liferay</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>password</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">sql606</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>maxActive</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">100</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>maxIdle</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">30</span><span style="color: #000000;">"</span><span style="color: #000000;"><br>maxWait</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">10000</span><span style="color: #000000;">"</span></div>
<br><br><br>请注意，这里如果按照官方文档的说法设置会出现错误，官方文档将数据库url中的&amp;没有转义为&amp;,这点需要自己注意。<br><br><br>  <img src ="http://www.blogjava.net/sky_free/aggbug/133971.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sky_free/" target="_blank">自由的天空</a> 2007-08-02 12:48 <a href="http://www.blogjava.net/sky_free/articles/133971.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>