Openfire 是由Jive Software 主導(dǎo)開(kāi)發(fā)的一套功能非常強(qiáng)大的開(kāi)源im 服務(wù)器(前身是wildfire),它基于XMPP 協(xié)議,完全用java實(shí)現(xiàn),是一款非常優(yōu)秀的服務(wù)器端軟件。
最近參與了一個(gè)開(kāi)源項(xiàng)目thinksns,負(fù)責(zé)im部分,于是準(zhǔn)備研究一下openfire的源碼,想要測(cè)試和編寫(xiě)自己的代碼,首先要配置好源碼的運(yùn)行環(huán)境,本文正是基于這個(gè)目的而寫(xiě)的,希望能和志同道合的朋友多交流,共同學(xué)習(xí)。
計(jì)劃不定期的將自己的學(xué)習(xí)筆記和心得貼上來(lái),一方面督促自己,一方面希望與感興趣的同仁多交流,不過(guò)由于最近一直很忙,時(shí)間有限,所以可能周期會(huì)比較長(zhǎng)。
感興趣的話(huà)可以給我留言,也可以發(fā)送郵件與我交流: zhenyucheung@163.com
一. 安裝JDK(我使用的是JDK1.6), 不再詳述
二. 安裝 Eclipse 3.3(不再詳述)
三. 安裝Subversive插件
Subversive是一款不錯(cuò)的svn插件,具體安裝方法請(qǐng)參看我的另一篇文章《Eclipse中安裝svn插件Subversive 》,鏈接 http://blog.csdn.net/zhenyucheung/archive/2008/03/19/2195518.aspx
四. check out openfire 源碼
1. 在eclipse中點(diǎn)擊Windows->Open Perspective->Other
2. 在彈出窗口中點(diǎn)擊SVN Repository Exploring 然后點(diǎn)OK
3. 在SVN Repositories 點(diǎn)右鍵,選擇 New->Repository Location...
4. 在彈出的New Repository Location頁(yè)面,將http://svn.igniterealtime.org/svn/repos輸入U(xiǎn)RL文本框,點(diǎn)Finish. 你將會(huì)看到頁(yè)面出現(xiàn)URL地址.
5. 展開(kāi)URL地址
6. 展開(kāi)openfire樹(shù)形結(jié)構(gòu)
7. 在trunk上點(diǎn)擊右鍵,選擇Check Out
剩下的就是等待check out完成了 :)
五. 創(chuàng)建openfire工程
對(duì)使用過(guò)eclipse的人來(lái)說(shuō),這一步不用多說(shuō),這里僅列出幾個(gè)需要注意的地方.
1. check out完畢后,eclipse會(huì)自動(dòng)創(chuàng)建一個(gè)openfire工程,請(qǐng)把它刪除(注意刪除時(shí)不要?jiǎng)h除content),否則你將不得不手動(dòng)配置一些開(kāi)發(fā)環(huán)境。
2. 用Create project from existing source新建工程,注意工程名要用openfire。
六. Build openfire
openfire是用ant構(gòu)建的,所以要先設(shè)置使得eclipse中每次編譯都使用內(nèi)置的ant工具,保證編譯的正確執(zhí)行。
1. eclipse中點(diǎn)擊Window->Show View->Ant
2. 在Ant 頁(yè)面點(diǎn)右鍵,選擇 Add Buildfiles...
3. 展開(kāi)openfire/build文件夾,選擇build.xml, 點(diǎn) OK.
4. 在Ant頁(yè)面, 展開(kāi)Openfire XMPP Server,雙擊 openfire ant 任務(wù)
七. 創(chuàng)建項(xiàng)目Builder
1. 點(diǎn)擊Run->Open Run Dialog...
2. 選擇Java Application,點(diǎn)擊 New 按鈕
3. 在Run窗口的Main選項(xiàng)卡中, 修改Name文本框中的值,改成Openfire,其他名字亦可
4. 點(diǎn)Browse按鈕,選擇openfire, 點(diǎn)ok
5. 點(diǎn)Search按鈕,選擇Main class為org.jivesoftware.openfire.starter.ServerStarter,點(diǎn)OK。(這是openfire的啟動(dòng)類(lèi))
6. 點(diǎn)擊進(jìn)入Arguments選項(xiàng)卡
7. 在VM arguments文本框中輸入
-DopenfireHome="${workspace_loc:openfire}/target/openfire",這個(gè)是用于eclipse執(zhí)
行java命令時(shí)傳遞的參數(shù),這樣openfire程序可以通過(guò)System.getProperty(“openfireHome”)得到
openfire的本地位置。
8. 點(diǎn)擊進(jìn)入Classpath選項(xiàng)卡
9. 點(diǎn)選User Entries,這樣Advanced...就處于可用狀態(tài)
10. 點(diǎn)擊Advanced...按鈕
11. 在Advanced Options頁(yè)面,選擇Add Folders, 點(diǎn)ok.
12. 選擇openfire"src"i18n, 點(diǎn)ok將這個(gè)文件夾加入到class path,同樣的方式把openfire"src"resources"jar也加到class path中。
13. 在Common選項(xiàng)卡中,點(diǎn)選Run復(fù)選框。
設(shè)置完畢,這樣以后在run這個(gè)工程的時(shí)候就會(huì)按照正確的配置進(jìn)行了,debug的設(shè)置和run的設(shè)置類(lèi)似,不再多說(shuō)。
參考文章: http://www.igniterealtime.org/community/docs/DOC-1020