1、環境java
htp://www.igniterealtime.org/downloads/source.jsp數據庫
openfire_src_3_9_1.zip 點擊下載apache
下載完畢後解壓資源到某個路徑下 瀏覽器
relsese版本下載鏈接:服務器
http://www.igniterealtime.org/downloads/index.jspjsp
打開Eclipse,新建工程,use default location選擇openfire解壓路徑ui
新建編譯項spa
Window->Show view->Ant.net
在ant窗口中點擊Add buildfiles,在buildfile selection窗口中選擇openfile工程中的build.xml,點擊OKorm
展開Openfire XMPP Server項,在衆多項中選擇openfire[default],右鍵Run as->Ant Build進行編譯。
編譯經過後提示BUILD SUCCESSFUL
編譯成功後,工程目錄結構下多出兩個目錄target和work
將剛纔生成的目錄target/openfire/lib下全部jar包添加到工程中
在Main標籤頁的Main class點擊Search,搜索ServerStarter,選中ServerStarter – org.jivesoftware.openfire.starter,勾選Include system libraries when searching for a main class。
Arguments標籤頁中VM arguments屬性填入:-DopenfireHome="${workspace_loc:openfire}/target/openfire
注意:冒號後的openfire是工程名,與你當前的工程名保持一致,不然運行會出現異常。
在Classpath標籤頁中,選中User Entires,點擊Advanced,選擇Add Folders,點擊OK,分別添加openfire/src/i18n和openfire/src/resources文件夾。
在Common標籤頁中,選中Debug和Run,保存配置。
點擊Run按鈕運行,編譯完成了,應該不是太難。
在瀏覽器中輸入http://127.0.0.1:9090,進入後臺管理界面。
這裏的域名能夠任意填寫,就是服務器名稱,客戶端向好友發消息時會用到該名稱,好比向好友gerry發消息時,代碼中可能會這樣寫gerry@simon
選擇標準數據庫鏈接,使用了外部的MySQL數據庫,本地須要安裝後進行鏈接。
這裏選擇了MySQL做爲數據庫,需安裝MySQL,並建立openfire數據庫
數據庫URL:替換本地ip和數據庫名,去除左[右]括號
參考Spark編譯運行
http://community.igniterealtime.org/docs/DOC-1020
從SVN上獲取源碼
http://www.igniterealtime.org/downloads/source.jsp
添加Ant編譯文件
運行ant編譯
當前ant版本爲1.9.x,編譯會出錯,要求Ant版本1.6.x或1.7.x,JAVA版本1.5.x或1.6.x。
BUILD FAILED
/usr/gym/pm/tech/Openfire/Spark/spark_2_5_6_branch/build/build.xml:129: Must use Ant 1.6.x or 1.7.x to build Spark
能夠修改build.xml中對ant和java版本的要求。
<condition property="ant.not.ok" value="true">
<not>
<or>
<contains string="${ant.version}" substring="1.6"/>
<contains string="${ant.version}" substring="1.7"/>
<contains string="${ant.version}" substring="1.8"/>
<contains string="${ant.version}" substring="1.9"/>
</or>
</not>
</condition>
<condition property="java.not.ok" value="true">
<not>
<or>
<contains string="${ant.java.version}" substring="1.5"/>
<contains string="${ant.java.version}" substring="1.6"/>
<contains string="${ant.java.version}" substring="1.7"/>
<contains string="${ant.java.version}" substring="1.8"/>
</or>
</not>
</condition>
ant下載地址:http://ant.apache.org/bindownload.cgi
再次編譯則編譯經過,項目工程中多出target目錄
保存配置,點擊Run
會有提示錯誤
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jivesoftware.launcher.Startup.start(Startup.java:83)
at org.jivesoftware.launcher.Startup.main(Startup.java:33)
Caused by: java.lang.Error: Unresolved compilation problems:
GSSAPIConfiguration cannot be resolved to a type
GSSAPIConfiguration cannot be resolved to a type
解決方案:
將Spark/spark_2_5_6_branch/src/java中的GSSAPIConfiguration.java移動到Spark/spark_2_5_6_branch/src/java/org/jivesoftware目錄下,再次編譯-RUN
參考:
http://community.igniterealtime.org/thread/38439