日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

liferay開發(fā)環(huán)境配置說明

 荷露叮咚 2008-09-30
基本環(huán)境配置
本節(jié)安裝配置Liferay有關(guān)開發(fā)必須的一些軟件,這些軟件在后面章節(jié)都會(huì)用到,因此本節(jié)的內(nèi)容是不可跳過的。




--------------------------------------------------------------------------------



2.1  準(zhǔn)備必須的軟件,并進(jìn)行環(huán)境參數(shù)配置
安裝如下軟件:

J2SDK 1.4.1 (雖然官方文檔推薦使用1.4.2版本,但是使用1.4.2版本的話,在LifeRay的部分功能中會(huì)出現(xiàn)中文亂碼問題;而到LifeRay 4.0為止,還沒有做到與Java 1.5的完全兼容);(轉(zhuǎn)載者注:本人使用Liferay Portal 4.3.0版 可以與JDK1.6兼容)
Jikes 1.21 (官方文檔聲稱這個(gè)軟件不是必裝的,可以使用J2SDK中的標(biāo)準(zhǔn)編譯器代替,但是實(shí)際試驗(yàn)中,使用標(biāo)準(zhǔn)編譯器會(huì)出現(xiàn)一些奇怪的問題,而且Jikes給出的編譯錯(cuò)誤信息也更為豐富,推薦安裝使用;Jikes 1.22及以上版本是僅兼容Java 1.5的,無法與1.4版本的J2SDK一起使用,因此不要使用這些版本);(轉(zhuǎn)載者注:必須安裝Jikes,因?yàn)樵贚iferay的配置文件中使用的編譯器就是Jikes)
Apache Ant 1.6.5 (對(duì)Ant的版本倒是沒有特殊要求,只是因?yàn)槲沂褂玫氖茿nt 1.6.5,所以我就這么注明了); (轉(zhuǎn)載者注:在Eclipse 3.3.0版中自帶Ant 1.7.0版)


J2SDK下載后是exe格式的安裝文件,而Jikes和Ant都是zip壓縮包,直接解壓即可。這樣我安裝完三個(gè)軟件分別到如下三個(gè)目錄:

C:\j2sdk1.4.1_07
C:\jikes-1.21
C:\apache-ant-1.6.5


接著在系統(tǒng)中設(shè)定環(huán)境變量,右鍵點(diǎn)擊“我的電腦”,選擇“屬性”,再選擇“高級(jí)”-》“環(huán)境變量”,在“系統(tǒng)變量”中修改或者加入:

JAVA_HOME C:\j2sdk1.4.1_07
JIKES_HOME C:\jikes-1.21
ANT_HOME C:\apache-ant-1.6.5
如果系統(tǒng)中設(shè)置了CLASSPATH環(huán)境變量,則去除之,以防止沖突
給path環(huán)境變量加入 %ANT_HOME%\bin;%JAVA_HOME%\bin;%JIKES_HOME%\bin


之后重啟系統(tǒng),使環(huán)境變量生效。

(轉(zhuǎn)載者注:可以不改變其他環(huán)境變量。只需要把下載到的Jikes.exe放到JDK的bin文件夾下即可。)




--------------------------------------------------------------------------------



2.2  下載LifeRay程序包
本文直接使用了發(fā)布版本的4.0的源代碼和二進(jìn)制包,當(dāng)然也可以利用Subversion接口直接訪問LifeRay在Sourceforge上的庫使用最新的源代碼版本,不過下面的試驗(yàn)只是基于發(fā)布版本的代碼包完成的,共計(jì)需要下載:

liferay-portal-src-4.0.0.zip LifeRay 4.0 正式版的源代碼包;
liferay-portal-tomcat-4.0.0.zip LifeRay 4.0 正式版的Tomcat二進(jìn)制綁定包,提供測(cè)試新Portlet的執(zhí)行環(huán)境(如果只打算編譯調(diào)試Liferay自身的代碼,而不打算開發(fā)新的獨(dú)立Portlet組件,則可以不下載這個(gè)包);


以上文件包可以在LifeRay官方網(wǎng)站的連接或者Sourceforge上下載到。



將liferay-portal-src-4.0.0.zip解壓到D:\liferay\portal 目錄下備用。




--------------------------------------------------------------------------------



2.3  安裝和配置基本的Eclipse運(yùn)行環(huán)境
在Eclipse官方網(wǎng)站下載最新版本的Eclipse IDE環(huán)境。我將之解壓到了C:\j2sdk1.4.1_07\eclipse 目錄下,雙擊eclipse.exe文件運(yùn)行之;

File->Switch Workspace,輸入d:\liferay,點(diǎn)擊OK確認(rèn);
File->New->Project->Java Project,輸入項(xiàng)目名稱為“portal”,保持默認(rèn)的“create new project in workspace”,選擇“Finish”結(jié)束。
如果上一步成功,那么已經(jīng)可以在左側(cè)欄看到源代碼的目錄結(jié)構(gòu)了;并且右鍵點(diǎn)擊項(xiàng)目的根目錄,選“Properties”,選“Java Build Path”的“Libraries”標(biāo)簽,應(yīng)該能夠看到所有需要的jar格式庫文件在里面了;
Window->Show View->Ant,在新出現(xiàn)的Ant標(biāo)簽欄點(diǎn)擊加號(hào),選擇項(xiàng)目源碼根目錄上的build.xml文件;



--------------------------------------------------------------------------------



3.  基于Tomcat開發(fā)Portlet
本節(jié)通過配置一個(gè)基于Liferay的Tomcat綁定二進(jìn)制包建立一個(gè)擴(kuò)展開發(fā)Liferay的環(huán)境,這個(gè)環(huán)境特別適用于對(duì)新的Portlet組件進(jìn)行調(diào)試和開發(fā)。這個(gè)方法幾乎不會(huì)修改Liferay自身的代碼,所有的改動(dòng)都是在擴(kuò)展環(huán)境里完成,可以在Liferay升級(jí)時(shí)比較容易地實(shí)現(xiàn)擴(kuò)展了的功能的遷移。



但這個(gè)方法也有一個(gè)缺點(diǎn),就是開發(fā)的Portlet如果不執(zhí)行deploy步驟,就不能在Liferay里啟用。因此在開發(fā)和調(diào)試Portlet的過程中,一般還是在Liferay以外的環(huán)境中開發(fā)調(diào)試好,之后移植到此擴(kuò)展開發(fā)環(huán)境中,與Liferay聯(lián)調(diào),成功后部署應(yīng)用。具體工作中,可以與后面“改進(jìn)和調(diào)試Liferay自身代碼”一節(jié)中調(diào)試Portlet的方法稍作比較,選擇適合自己情況的方法。




--------------------------------------------------------------------------------



3.1  配置擴(kuò)展開發(fā)環(huán)境
為了方便進(jìn)行自己的修改和定制開發(fā),同時(shí)又能與Liferay的更新保持兼容,我們使用單獨(dú)的目錄來放置自己的修改,這樣在Liferay發(fā)布新版本時(shí),可以直接升級(jí)Liferay部署,而不會(huì)與我們的修改相沖突。具體地,我使用了d:\liferay\ext 目錄來放置所有的擴(kuò)展(包括JSP、class文件及依賴庫等)。



首先要在d:\liferay\portal 目錄下建立一個(gè)名為“release.${username}.properties”的配置文件,其中${username}就是當(dāng)前Windows登陸的用戶名,可以通過“開始菜單-》運(yùn)行-》cmd.exe”后顯示的默認(rèn)路徑看到,跟在“Documents and Settings”字樣后面的就是當(dāng)前登陸的用戶名。這樣,我的配置文件的名稱是release.administrator.properties 。文件的內(nèi)容只寫一行:

lp.ext.dir={Liferay}\ext



其中“{Liferay}”指的是Liferay源代碼存放的上級(jí)目錄,比如我寫的這一行就是:

lp.ext.dir=d:\liferay\ext



回到上一節(jié)建立好的Eclipse中的Ant視圖中,雙擊展開根節(jié)點(diǎn)Portal,應(yīng)該可以看到很多Ant任務(wù),順序執(zhí)行 clean, start, build-ext 。屏幕下方的命令行窗口會(huì)跳躍大堆大堆的文字提示信息,如果一切正確,那么其中不應(yīng)該有紅色的錯(cuò)誤信息(絕大多數(shù)此處可能出現(xiàn)的錯(cuò)誤都是配置文件不正確所引起的)。一切正常的話,那么d:\liferay\ext 目錄下應(yīng)該生成了很多東西了。

(轉(zhuǎn)載者注:一種錯(cuò)誤有可能是Jikes缺少,其余基本上是路徑配置問題)



我們將前面準(zhǔn)備好的與Tomcat綁定的Liferay Professional版本的壓縮包解壓到d:\liferay\ext\servers\tomcat 目錄下,并且在d:\liferay\ext 目錄下建立一個(gè)名為app.server.{username}.properties的文件,在我這也就是app.server.administrator.properties ,文件內(nèi)容寫如下兩行:

lp.ext.dir={Liferay}\ext
app.server.type=tomcat



在我這也就是:

lp.ext.dir=d:\liferay\ext
app.server.type=tomcat



然后仿照前面在Eclipse里建立新的Java工程的方法,建立一個(gè)新的Java項(xiàng)目,指向d:\liferay\ext 目錄,也就是說,在輸入Java項(xiàng)目的項(xiàng)目名稱時(shí),輸入“ext”而不是前面輸入“portal”。




--------------------------------------------------------------------------------



3.2  添加插件支持
為了能夠在基于Tomcat的Liferay Porfessional版本的運(yùn)行環(huán)境上實(shí)現(xiàn)我們編寫的插件的調(diào)試,需要給Eclipse環(huán)境添加一個(gè)借助Tomcat服務(wù)器開展調(diào)試的插件,也就是Sysdeo這個(gè)插件,可以到 http://www./eclipse/tomcatplugin 下載,我下載的是tomcatPluginV31.zip文件(將下載的這個(gè)zip文件包解壓,拷貝到Eclipse安裝目錄的plugins目錄下,比如我這里就是拷貝到了C:\j2sdk1.4.1_07\eclipse\plugins\ 目錄下。關(guān)閉并且重啟Eclipse,如果插件安裝成功,那么在界面的左上角應(yīng)該可以看到Tomcat的圖標(biāo)(轉(zhuǎn)載者注:一只小貓,另一只小貓身上帶著一個(gè)紅叉)。



現(xiàn)在我們來配置Sysdeo插件的參數(shù),在Eclipse里“Windows->Preferences”,選擇“Tomcat”標(biāo)簽,選擇“Version 5.x”版本,然后修改參數(shù)“Tomcat Home”為“{Liferay}\ext\servers\tomcat”,在我這里也就是“D:\liferay\ext\servers\tomcat ”;修改參數(shù)“Configuration File”為“{Liferay}\ext\servers\tomcat\conf\server.xml”,在我這里也就是“D:\liferay\ext\servers\tomcat\conf\server.xml”。



接著我們要繼續(xù)給Tomcat執(zhí)行的JVM虛擬機(jī)增加運(yùn)行參數(shù),啟用JAAS支持以及擴(kuò)大默認(rèn)內(nèi)存占用量,也就是展開“Tomcat”標(biāo)簽,選擇“JVM Settings”,在“Append to JVM Parameters”選擇“Add”,先添加

-Djava.security.auth.login.config=d:\liferay/ext/servers/tomcat/conf/jaas.config



再添加

-Xmx512m



還要在這里修改Tomcat運(yùn)行所使用的虛擬機(jī),要注意這里必須指定一個(gè)JDK附帶的虛擬機(jī)而不可以指向JRE附帶的虛擬機(jī)環(huán)境,否則Tomcat在運(yùn)行過程中會(huì)出現(xiàn)錯(cuò)誤。如果這里的下拉選項(xiàng)沒有出現(xiàn)與JDK中虛擬機(jī)有關(guān)的選項(xiàng),那么我們要首先手動(dòng)建立一個(gè),我們需要到Java標(biāo)簽下的“Installed JREs”,選擇“Add”,“JRE home directory”選擇“C:\j2sdk1.4.1_07”,給這個(gè)JRE環(huán)境起個(gè)名字,比如“J2SDK1.4.1_07”,之后點(diǎn)Ok保存設(shè)置,再重新開啟“Window->Preferences”對(duì)話框,到Tomcat的“JVM Settings”項(xiàng)選擇剛才建立的“J2SDK1.4.1_07”這個(gè)JRE就可以了。



這樣,只要再配置好Liferay的數(shù)據(jù)庫連接參數(shù),就可以通過點(diǎn)擊Eclipse里面的Tomcat圖標(biāo)啟動(dòng)Tomcat服務(wù)器了。 (轉(zhuǎn)載者注:可以通過瀏覽器測(cè)試。地址http://localhost:8080)




--------------------------------------------------------------------------------



3.3  配置數(shù)據(jù)庫和執(zhí)行Liferay
這里選擇了使用MySql數(shù)據(jù)庫,到MySql官方網(wǎng)站下載

MySql在Windows下的可執(zhí)行包mysql-5.0.21-win32.zip、

MySql的JDBC驅(qū)動(dòng)程序mysql-connector-java-3.1.12.zip、

MySql管理工具mysql-administrator-1.1.9-win.msi、

MySql數(shù)據(jù)查詢工具mysql-query-browser-1.1.20-win.msi、

MySql數(shù)據(jù)建模工具mysql-workbench-1.0.6-beta-win32.msi。



除JDBC驅(qū)動(dòng)外,其他幾個(gè)包都可以雙擊執(zhí)行安裝向?qū)瓿?。安裝完畢后,使用MySql數(shù)據(jù)查詢工具Query Browser連接數(shù)據(jù)庫,選擇“File->Open Script”載入D:\liferay\ext\sql\create 目錄下的create-mysql.sql 文件,點(diǎn)擊“Execute”按鈕執(zhí)行。刷新會(huì)發(fā)現(xiàn)得到了新的數(shù)據(jù)庫實(shí)例lportal。



使用MySql管理工具administrator,以root用戶連接數(shù)據(jù)庫,點(diǎn)“User Administration”,在左下方用戶賬號(hào)列表一欄點(diǎn)擊右鍵,建立新用戶liferay,輸入密碼sql606,點(diǎn)擊“Schema Privileges”標(biāo)簽,點(diǎn)擊lportal數(shù)據(jù)庫,把除了grant權(quán)限外的所有權(quán)限都給liferay這個(gè)用戶,點(diǎn)擊“Apply changes”按鈕保存這個(gè)新賬戶。這樣完成了數(shù)據(jù)導(dǎo)入以及建立MySql數(shù)據(jù)庫用戶的過程。



編輯D:\liferay\ext\servers\tomcat\conf\Catalina\localhost 目錄下的ROOT.xml文件,將其中的

<Resource
name="jdbc/LiferayPool"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:test"
username="sa"
password=""
maxActive="20"
/>

替換為

<Resource
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"
/>

請(qǐng)注意,這里如果按照官方文檔的說法設(shè)置會(huì)出現(xiàn)錯(cuò)誤,官方文檔將數(shù)據(jù)庫url中的“&”錯(cuò)誤地寫成了“&”,會(huì)造成Tomcat啟動(dòng)失敗。



再解壓MySql的JDBC驅(qū)動(dòng)程序mysql-connector-java-3.1.12.zip 中的mysql-connector-java-3.1.12-bin.jar 文件,復(fù)制到D:\liferay\ext\servers\tomcat\common\lib 目錄下,使得Liferay能夠找到MySql的JDBC驅(qū)動(dòng)。



這樣數(shù)據(jù)庫有關(guān)的內(nèi)容已經(jīng)全部配置完成,可以點(diǎn)擊Eclipse里面的Tomcat圖標(biāo)啟動(dòng)Liferay了,如果沒有出現(xiàn)錯(cuò)誤,那么已經(jīng)可以用瀏覽器訪問http://localhost:8080 訪問到Liferay Professional版本的Tomcat服務(wù)。



這里要注意,Sysdeo插件與Liferay的Tomcat綁定二進(jìn)制包默認(rèn)指定的Hypersonic數(shù)據(jù)庫驅(qū)動(dòng)有沖突,所以我們?cè)诒竟?jié)使用了MySql數(shù)據(jù)庫。如果一定要使用Hypersonic數(shù)據(jù)庫的話,就不能通過Sysdeo插件啟動(dòng)Tomcat,而需要直接執(zhí)行D:\liferay\ext\servers\tomcat\bin 目錄下的startup.bat來啟動(dòng)。




--------------------------------------------------------------------------------



3.4  完成一個(gè)最簡(jiǎn)單的JSP的Portlet
我們通過完成一個(gè)最簡(jiǎn)單的類似Hello World那樣的JSP Portlet來展示Portlet的基本組成部分,更復(fù)雜的功能或者基于Structs等框架的Portlet請(qǐng)參見后續(xù)文檔。



在D:\liferay\ext\ext-web\docroot\html\portlet\ext 目錄建立一個(gè)新的文件夾myjspportlet 。接著打開D:\liferay\ext\ext-web\docroot\WEB-INF 文件夾下的portlet-ext.xml 文件進(jìn)行編輯,加入對(duì)這個(gè)即將建立的新Portlet的描述,如下:

<portlet>
<portlet-name>EXT_2</portlet-name>
<display-name>My JSPPortlet</display-name>
<portlet-class>com.liferay.portlet.JSPPortlet</portlet-class>
<init-param>
<name>view-jsp</name>
<value>/portlet/ext/myjspportlet/view.jsp</value>
</init-param>
<expiration-cache>300</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>My JSP Portlet</title>
</portlet-info>
<security-role-ref>
<role-name>Power User</role-name>
</security-role-ref>
<security-role-ref>
<role-name>User</role-name>
</security-role-ref>
</portlet>

其中各項(xiàng)的含義為:

portlet-name 描述此Portlet的規(guī)定名稱,這個(gè)名稱必須是唯一不重復(fù)的。
display-name 記錄此Portlet在Portal中的顯示名稱,在將Portlet加入到Portal中時(shí)如果看到了這個(gè)名字,那么就可以找到現(xiàn)在編寫的這個(gè)Portlet組件,此名稱不必是唯一的。
portlet-class 描述與此Portlet對(duì)應(yīng)的Java類的完整路徑。
init-param 通過name/value對(duì)的形式指定此Portlet初始化時(shí)的參數(shù)。
expiration-cache 定義Portlet輸出緩存的超時(shí)時(shí)間,以秒為單位,超出這里指定的時(shí)間后就認(rèn)為Portlet的輸出已經(jīng)超時(shí)了,如果這里是-1則說明輸出永遠(yuǎn)不超時(shí)。
supports 包括所支持的MIME格式,同時(shí)定義對(duì)一種特定的MIME格式,此Portlet所支持的模式,所有的Portlet都必須支持View模式。
portlet-info 定義Portlet有關(guān)的信息。
security-role-ref 包含Web應(yīng)用與系統(tǒng)角色之間的映射,在Liferay中,這里表示什么樣的角色有權(quán)限訪問此Portlet。(一般來講,Power User有權(quán)個(gè)人化Portal,而User無權(quán)進(jìn)行個(gè)人化)




現(xiàn)在我們已經(jīng)完成了對(duì)Portlet的描述,現(xiàn)在我們建立此Portlet的JSP頁面,到剛才創(chuàng)建的myjspportlet目錄下,建立一個(gè)名為init.jsp的文件,加入如下兩行:

<%@ include file="/html/common/init.jsp" %>
<portlet:defineObjects />


這兩行導(dǎo)入了每個(gè)Portlet都要包含的公共class文件以及公共變量,如果需要導(dǎo)入此Portlet專用的類或者進(jìn)行此Portlet專用的變量的初始化,那么可以仿照common/init.jsp 文件中的寫法寫在myjspportlet目錄下的init.jsp文件中。



再添加一個(gè)名為view.jsp的文件,此文件將包含Portlet要輸出的內(nèi)容,再文件中寫入“Hello [your name here]!”。Portal能夠找到并且執(zhí)行這個(gè)JSP文件是因?yàn)槲覀冊(cè)趐ortlet-ext.xml文件中的init-param標(biāo)簽指定了view-jsp參數(shù)的值是/ext/myjspportlet/view.jsp ,這個(gè)JSP文件就被作為默認(rèn)的JSP頁面被顯示了。



最后,我們需要在D:\liferay\ext\ext-ejb\classes\content 目錄下的Language-ext.properties 文件中加入下面這行,才能在Portal中加入我們創(chuàng)建的這個(gè)Portlet:

javax.portlet.title.EXT_2=My JSP Portlet



因?yàn)槲覀円呀?jīng)創(chuàng)建了擴(kuò)展開發(fā)環(huán)境,因此我們可以通過Ant腳本來向Portal添加我們新創(chuàng)建的這個(gè)Portlet。在Eclipse的Ant視圖中,導(dǎo)入D:\liferay\ext 目錄下的build.xml文件,之后執(zhí)行deploy [default]這個(gè)Ant任務(wù),就可以完成新Portlet的發(fā)布。當(dāng)這個(gè)任務(wù)執(zhí)行完畢,啟動(dòng)Tomcat,登陸系統(tǒng),就可以在“添加內(nèi)容”功能中找到我們新創(chuàng)建的Portlet了。




--------------------------------------------------------------------------------



4.  改進(jìn)和調(diào)試Liferay自身代碼
本節(jié)將建立一個(gè)編譯、調(diào)試Liferay自身代碼的環(huán)境。如果希望參與Liferay社區(qū)對(duì)Liferay Portal的改進(jìn)開發(fā)、提交補(bǔ)丁等,則需要按照本節(jié)的說明配置開發(fā)環(huán)境。



此外,本節(jié)也能建立一種開發(fā)和調(diào)試Portlet組件的環(huán)境,依賴于Orion服務(wù)器的熱部署特性,能夠?qū)崿F(xiàn)對(duì)Portlet組件的實(shí)時(shí)調(diào)試。但是,由于本節(jié)的調(diào)試環(huán)境是一個(gè)完整的J2EE環(huán)境,因此也是比基于Tomcat的方法更為沉重龐大的選擇,也說不上簡(jiǎn)潔高效。具體做Portlet開發(fā)時(shí)還要根據(jù)自己工作的具體狀況和對(duì)J2EE的熟悉程度選擇一種Portlet開發(fā)環(huán)境。




--------------------------------------------------------------------------------



4.1  安裝Orion服務(wù)器
Liferay官方在開發(fā)時(shí)使用的就是Orion服務(wù)器,因此雖然可以使用其他的J2EE Server配置開發(fā)環(huán)境,我們還是選擇了Orion。而且Orion服務(wù)器對(duì)開發(fā)者和非商業(yè)應(yīng)用提供一個(gè)免費(fèi)使用的授權(quán),同時(shí)文檔支持和應(yīng)用程序的熱部署功能也不錯(cuò),還是值得推薦的。



首先到Orion的官方網(wǎng)站http://www. 下載Orion服務(wù)器的二進(jìn)制文件,我選擇的是2.0.6版本,那會(huì)是一個(gè)zip壓縮包。將這個(gè)壓縮包中的內(nèi)容解壓到C:\j2sdk1.4.1_07\orion 目錄下。這時(shí)進(jìn)入這個(gè)目錄,使用“java -jar orion.jar”指令應(yīng)該能夠在http://localhost 上運(yùn)行起來了。




--------------------------------------------------------------------------------



4.2  在Eclipse中配置Orion
在Eclipse中通過“Run->Debug..”菜單進(jìn)入Debug環(huán)境設(shè)置對(duì)話框。在“Java Application”下面有個(gè)“orion”標(biāo)簽,我們需要修改這個(gè)標(biāo)簽下面的參數(shù)。



“Main”標(biāo)簽下的“Project”項(xiàng)需要改為“Portal”,原來寫的是“ext”,其他的選項(xiàng)保持默認(rèn)的即可,也即“Main class”一項(xiàng)仍保持為“com.evermind.server.ApplicationServer”。



“Arguments”標(biāo)簽下,開始Eclipse會(huì)報(bào)錯(cuò),說“${ORION_HOME}”變量沒有定義,我們點(diǎn)擊“Program arguments”欄目下的“Variables”按鈕,在新彈出的對(duì)話框中點(diǎn)擊“Edit Variables...”按鈕,點(diǎn)擊“New”,“Name”項(xiàng)輸入“ORION_HOME”,“Value”項(xiàng)輸入“C:\j2sdk1.4.1_07\orion”,點(diǎn)擊3次Ok關(guān)閉對(duì)話框。這樣“Program arguments”欄仍保持為“-config ${ORION_HOME}/config/server.xml -userThreads”;“VM arguments”還保持為“-Xbootclasspath/a:${workspace_loc}\portal\lib\xercesImpl.jar;${workspace_loc}\portal\lib\xml-apis.jar -Xmx512m -Dfile.encoding=UTF-8 -Duser.timezone=GMT”。



在“Classpath”標(biāo)簽下,將“User Entries”下帶環(huán)境變量的orion.jar引用路徑刪除,然后點(diǎn)擊“Add External JARs”按鈕,重新添加本機(jī)上的orion.jar庫文件。



在“JRE”標(biāo)簽,選擇“Alternate JRE”,改為“j2sdk1.4.1_07”,如果這里使用純JRE的運(yùn)行環(huán)境而不是JDK附帶的運(yùn)行環(huán)境,很可能會(huì)造成Orion運(yùn)行中的一些編譯類的錯(cuò)誤。




--------------------------------------------------------------------------------



4.3  修改Orion配置參數(shù)
編輯C:\j2sdk1.4.1_07\orion\config\server.xml 文件,在行

<web-site path="./default-web-site.xml" />
下面添加行

<web-site path="./web-sites/portal.liferay.com-web.xml" />
。





并且加入行

<compiler executable="jikes" classpath="C:\j2sdk1.4.1_07/jre/lib/rt.jar" />
來啟用jikes編譯器。其中C:\j2sdk1.4.1_07/jre/lib/rt.jar 指向JDK附帶的JRE運(yùn)行環(huán)境庫。如果不啟用jikes,則會(huì)使用sun的JDK附帶的編譯器,可能與Liferay代碼造成沖突,因此建議啟用jikes。





建立新目錄C:\j2sdk1.4.1_07\orion\config\web-sites ,在其中建立文件portal.liferay.com-web.xml ,文件內(nèi)容如下:

<?xml version="1.0" ?>
<!DOCTYPE web-site PUBLIC "Orion Web-site" "http://www./dtds/web-site.dtd">

<web-site host="[ALL]" port="8080">
<default-web-app application="default" name="portal.liferay.com-web" load-on-startup="true" />
<!-- <web-app application="default" name="test-web" root="/test" load-on-startup="false" /> -->
<web-app application="default" name="portal-web" root="/portal" load-on-startup="true" />
<web-app application="default" name="tunnel-web" root="/tunnel" load-on-startup="true" />
<!-- <web-app application="default" name="axis-web" root="/axis" load-on-startup="false" /> -->
<access-log path="../../log/default-web-access.log" />
</web-site>
我沒有找到test-web和axis-web包,因此我沒有啟用這兩項(xiàng)。





編輯C:\j2sdk1.4.1_07\orion\config\application.xml文件,添加如下行:

[Get Code]
<!-- START -->

<ejb-module id="counter-ejb" path="../applications/counter-ejb.jar" remote="false" />
<ejb-module id="documentlibrary-ejb" path="../applications/documentlibrary-ejb.jar" remote="false" />
<ejb-module id="lock-ejb" path="../applications/lock-ejb.jar" remote="false" />
<ejb-module id="mail-ejb" path="../applications/mail-ejb.jar" remote="false" />

<ejb-module id="portal-ejb" path="file:D:/liferay/portal/portal-ejb/classes" remote="false" />

<web-module id="portal-web" path="file:D:/liferay/portal/portal-web/docroot" />

<web-module id="portal.liferay.com-web" path="file:D:/liferay/portal/web-sites/liferay.com-web/docroot" />
<web-module id="tunnel-web" path="../applications/tunnel-web.war" />

<!-- -->

<mail-session location="mail/MailSession" smtp-host="smtp.server.com">
<description>description</description>
<property name="mail.from" value="mail.sender@server.com" />
<property name="mail.transport.protocol" value="smtp" />
<property name="mail.smtp.from" value="mail.sender@server.com" />
</mail-session>

<user-manager class="com.evermind.sql.DataSourceUserManager">
<property name="dataSource" value="jdbc/LiferayPool" />
<property name="table" value="User_" />
<property name="usernameField" value="userId" />
<property name="passwordField" value="password_" />
<property name="defaultGroups" value="users" />
<property name="staleness" value="0" />
</user-manager>

<!-- END -->


官方文檔說如果使用了“80%9d\j2sdk1.4.1_07\orion\applications\bf%99a0e7%9a%84ae%9abd%8d96e58fbc%8c88%99a6%81bf%9daf%819cgreen%C:' rel='nofollow'>file:”這樣的定位方式,則要保證在C: 目錄中沒有portal-ejb.jar文件,通常這個(gè)文件產(chǎn)生于Ant腳本的Deploy過程。不過我不清楚官方文檔為什么提出這一點(diǎn),也沒發(fā)現(xiàn)有什么影響??赡苋绻嬖谶@個(gè)jar文件,則源碼目錄下的classes文件都會(huì)被覆蓋,這樣如果只是修改并編譯了源碼目錄下的classes文件,很可能由于jar文件的覆蓋而沒法生效,給調(diào)試帶來麻煩。



接著配置MySql數(shù)據(jù)源,參考3.3節(jié) 配置數(shù)據(jù)庫和執(zhí)行Liferay的做法,在數(shù)據(jù)庫中建立與Liferay對(duì)應(yīng)的數(shù)據(jù)庫lportal,將MySql的Java版本驅(qū)動(dòng)的jar文件復(fù)制到C:\j2sdk1.4.1_07\orion\lib 目錄下。再編輯C:\j2sdk1.4.1_07\orion\config\data-sources.xml ,使之內(nèi)容如下:

<?xml version="1.0"?>
<!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://www./dtds/data-sources.dtd">

<data-sources>
<!--
An example/default DataSource that uses an ordinary
JDBC-driver (in this case hsql) to create the connections.
This tag creates all the needed kinds
of data-sources, transactional, pooled and EJB-aware sources.
The source generally used in application code is the "EJB"
one - it provides transactional safety and connection pooling.
-->
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="Liferay"
location="jdbc/LiferayCore"
pooled-location="jdbc/LiferayPool"
xa-location="jdbc/xa/LiferayXA"
ejb-location="jdbc/LiferayEJB"
connection-driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/lportal"
username="liferay"
password="sql606"
inactivity-timeout="30"
schema="database-schemas/"
/>
</data-sources>



--------------------------------------------------------------------------------



4.4  修改Liferay的配置文件
Liferay使用一個(gè)名為portal.properties 的文件來配置一些重要的參數(shù),但我們一般不要直接修改這個(gè)文件,而是另外寫一個(gè)配置文件來覆蓋里面的設(shè)置即可,這樣可以比較容易地使我們的修改與Liferay的官方設(shè)置相兼容。在D:\liferay\portal\util-java\classes 目錄下建立一個(gè)名為portal-ext.properties的文件(官方文檔寫這個(gè)文件的存放位置寫錯(cuò)了)。填寫這個(gè)文件的內(nèi)容為:

portal.ctx=/portal





--------------------------------------------------------------------------------



4.5  向Orion上部署Liferay系統(tǒng)
在D:\liferay\portal\ 目錄建立一個(gè)app.server.{username}.properties 文件,在我的機(jī)器上就是app.server.Administrator.properties 文件({username}的含義參考“3.1節(jié) 配置擴(kuò)展開發(fā)環(huán)境”,文件內(nèi)容為

app.server={orion}
在我這寫的就是

app.server=C:/j2sdk1.4.1_07/orion




到Eclipse的Ant視圖順序執(zhí)行portal項(xiàng)目中的start和deploy任務(wù)。記得刪除portal-ejb.jar文件。



在Eclipse中用Debug界面啟動(dòng)Orion,這時(shí)應(yīng)該可以在http://localhost:8080 看到啟動(dòng)的Liferay了。(如果Ant腳本運(yùn)行的時(shí)候說什么javac類找不到,那么調(diào)整Eclipse菜單中的:Windows->Preferences窗口中的Ant配置,把JDK的lib目錄下的tools.jar文件顯式引用進(jìn)去,就一切正常了(不可以是JRE的lib目錄下的tools.jar文件,那不一樣)。)




--------------------------------------------------------------------------------



4.6  另一種調(diào)試Portlet組件的方法
在Liferay的portal源碼工作環(huán)境下,還有一種開發(fā)調(diào)試Portlet組件的方法。我們用D:\liferay\portal\portlets\sample-jsp-portlet.war 這個(gè)Liferay自帶的Portlet作為例子。



我們將D:\liferay\portal\portlets\sample-jsp-portlet.war 目錄復(fù)制成為D:\liferay\sample-jsp-portlet 目錄,之后修改C:\j2sdk1.4.1_07\orion\config\application.xml文件,添加如下行



<web-module id="sample-jsp-portlet" path="file:D:/liferay/sample-jsp-portlet" />


再修改C:\j2sdk1.4.1_07\orion\config\web-sites\portal.liferay.com-web.xml 文件,在其中添加如下行



<web-app application="default" name="sample-jsp-portlet" root="/sample-jsp-portlet" load-on-startup="true" />


之后重啟Orion,登陸Liferay后就可以在“Add Content”界面的Test類別中找到這個(gè)sample-jsp-portlet。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多