of的使用很是簡單,便捷,因爲開源,下載源碼後也能夠隨意修改,因而編譯也就有了瞭解的必要。linux
of的構建工具是ant,因此前提你須要下載apache ant,並配置好環境。在此以前,建議瞭解一下ant,好比熟悉設置property,target,task,depends表明什麼意思。git
進入build/,打開build.xml,查看有多少個target,每個target就是一個ant任務(不是task),簡單來講就是 ant target-name,好比clean,dist.src,dist.bin,compile等。這裏最經常使用3種,一直就是默認的ant,若是懂ant的話就會知道在build.xml中有個default="openfire",這就是默認的target,即你輸入ant回車等同於ant openfire。這個是編譯一個默認的版本,在target/openfire中,其中包含了"compile, jspc, -i18n".這個具體意義就不說,build.xml中註釋寫的比較清晰。第二種就是打包,即生成tar.gz或者zip文件的壓縮包,這裏相似網上下載的openfire,解壓便可用。第三種,就是installer,即生成系統可執行的安裝包,好比linux的deb,mac版本的安裝包等。這裏須要用到install4j,這個東西是一個安裝工具,這個我沒測試過,這裏就不說了。build.xml中有相關屬性設置。web
還有一點須要瞭解的是插件的編譯和打包方式。這裏有2個target,一個plugins,一個plugin,就是s的差異。ant的description說的很清楚,plugins沒啥說,編譯全部插件,plugin呢?查看plugin,須要輸入plugin參數,如"-Dname=value"(-Dplugin=xxxx), 這一種方式,等同於<project>下的<property>。xxx就是你要編譯的插件,這個xx在src/plugins/下,給個demo: ant plugin -Dplugin=fastpath 。固然你也能夠直接修改build.xml做爲自定義target。apache
關於插件的安裝和管理,能夠看web平臺的插件管理,能夠很方便的查看插件使用狀況。
jsp
最後,提示,默認編譯可能存在缺乏部分bao,我將更新的一個of鏡像放到osc的元馬褲中,有興趣的朋友,能夠看一下:
http://git.oschina.net/jinmuming/openfire.git
工具