1、所需工具
JDK 1.7(一定要1.7以上的版本)
MyEclipse 9.0
Liferay 6.1.2 源码(liferay-portal-src-6.1.2-ce-ga3-20130816114619181.zip)
apache tomcat 7.0.40(可以不用下载,在联网情况下,当发布Liferay到tomcat上的时候会自动下载,后面会讲到)
2、配置JDK 1.7
此步骤和配置1.6一样,所以不赘述。
3、建立工程并导入源码
3.1 新建工作空间liferay:
新建文件夹liferay,并新建两个子文件夹,分别为source和bundles。之后启动myeclipse,切换工作空间:file -> switch workspace -> other,选择liferay。
3.2 导入源码
解压liferay-portal-src-6.1.2-ce-ga3-20130816114619181.zip,将其中的子文件夹和子文件拷贝到source中。然后在myeclipse中,file -> import -> General -> Existing Projects into Workspace,点击next,选择source文件夹,点击finish,等到源码导入完成,如图:
完成导入之后,将可以看到如图目录结构:
4、编译源码
4.1 编译环境配置
在source中找到app.server.properties文件,复制一份,并命名为app.server.${username}.properties(其中username可命令行中输入set查看)。将该文件中的内容修改为如下:
app.server.type=tomcat
app.server.tomcat.dir=F:/MasterCourse/Projects/MySrc/SDM/liferay/bundles/tomcat-7.0.40
保存文件在source中。以上需要注意两点:如果是从win7中拷贝的地址,需要改"\"为"/";红字部分为tomcat的存放目录,必须为tomcat-${version},因为在app.server.properties中指明了此文件的命名,如图:
4.2 使用MyEclipse自带Ant插件编译源码
4.2.1 Ant插件
在Myeclipse中,Window -> Show View -> other,打开Ant插件,如图:
4.2.2 添加build.xml到Ant中并编译
在source文件目录结构中,右键build.xml -> Run as -> External Tools Configurations,双击Ant build,在选卡Environment中New一个名为ANT_OPTS变量,配置虚拟机空间大小,JRE选卡中选择JDK1.7,如图:
点击Apply,然后点击Run进行源码的编译。
注意,此处可能会报错,如图:
解决方法为:添加ecj.jar到Ant Runtime中,在重新Run。其中ecj.jar可在MyEclipse安装目录中找到。做法为:Window -> Preferences,然后如图
5、 发布liferay到tomcat
5.1 发布
用同样的方法将build-dist.xml添加到Ant中,并设置Environment选卡,增加变量ANT_OPTS。然后设置Targets选卡,只选择build-dist-tomcat,如图:
点击Apply,然后Run。
注意:在这个过程中需要保持联网状态,因为在发布的第一步,MyEclipse会执行检查服务器的操作,然后会去app.server.properties文件中指定的URL中下载tomcat,然后解压到我们指定的服务器目录中;我们这时还需要配置MyEclipse中的Server,配置Tomcat7.X,路径就选择解压的文件夹的路径(这个不赘述)。
5.2 可能错误及解决方法
不出意外的话,在下载完tomcat压缩包之后,会出现无法在指定路径中找到tomcat的错误。这是因为解压之后的文件名一般为apache-tomcat-${version},而前面讲到app.server.tomcat文件中指定了tomcat存放文件夹名为tomcat-${version},所以找不到。没关系,至少已经下载了tomcat压缩包。
具体的做法如下:用解压缩软件打开apache-tomcat-7.0.40.zip,在解压缩软件中修改文件名为tomcat-7.0.40,如图:
这个时候你可以手动解压一下,完成MyEclipse的tomcat7.X配置,以及tomcat的配置,主要是完整的环境变量的修改,包括CATALINA_BASE、CATALINA_HOME、TOMCAT_HOME等的新建与配置(这里不再赘述)。
然后检查一下Ant中build-dist.xml的target和Environment选卡是否依然正确。没问题的话就点击Run。
6、编译并安装主题
发布成功之后,你启动tomcat,打开localhost:8080,发现是空白,那是因为没有安装liferay主题。下面介绍安装主题的方法。
同样的方法,将portal-web中的build.xml添加到Ant中,并且在Environment选卡中新增变量ANT_OPTS,在Targets选卡中只选择build-themes选项,然后点击Apply,点击Run。成功之后将source\portal-web\docroot\html\themes中的classic和control_panel文件夹拷贝到bundles\tomcat-7.0.40\webapps\ROOT\html\themes中。然后启动tomcat,进入localhost::8080,然后就可以奖励自己一个欢呼了!
// END ICTwangbiao