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