Openfire3.10.2源碼在eclipse上部署編譯

本來是轉載但是由兩點是我自己發現的,所以暫且算個原創吧。

在配置運行的參數時,-DopenfireHome=”${workspace_loc:openfire}/target/openfire” 可能會導致編譯過不去,所以直接使用絕對路徑就可以,如下 -DopenfireHome=”D:\service\openfire_src\target\openfire”  ,而且要把 /改成\

第二點jdk版本要用jre7否則會報錯,報的錯誤很離奇。可能我說的你現在看不懂,在你往下運行時慢慢就懂了!



一、源碼下載

最近由於需求,需進行openfire的插件開發,於是需將openfire的源碼進行部署,目前最新的openfire穩定版本是3.9.3,官方下載地址是http://www.igniterealtime.org/downloads/index.jsp,下載頁面如圖:




也可以到github上下載最新的3.10beta版的源碼,下載地址:https://github.com/igniterealtime/Openfire


二、導入eclipse

進入下載好的源碼的build/eclipse目錄下,拷貝其下面的所有文件和文件夾到build上級目錄(可能名爲歐openfire),將文件classpath、project分別修改成.classpath.project(windows下可能不能直接修改,可以拷貝其他現成的eclipse工程下的這兩個文件,然後修改其內容替換即可),如下圖: 


不可直接修改,否則不成功,通過cmd命令行操作:


進入到源碼目錄:


修改後的效果及目錄結構如下圖: 


然後直接導入eclipse 






導入後會出現紅色的感嘆號,或者報錯,效果如圖: 


下面來一步一步的解決,右鍵查看項目的一些jar的依賴情況,如下圖: 


紅色的×說明缺少jar,在網上下載對應的jar,然後導入到對應的目錄就行了 




添加好上圖所需的一些jar包後,重新編譯刷新後,發現會報一些錯誤: 


一步步跟進,發現一些類找不到,原來還缺少一些jar包: 



通過上網搜索發現,需要org.eclipse.jetty.spdy.server.http包,在build/lib/merge目錄下發下含有spdy字段的jar包,於是果斷添加到build path 中去 
這裏寫圖片描述
添加後,再編譯刷新,發現剛纔出錯的地方終於消失了,但還是有錯誤,發現缺少jetty-servlets 包,如下圖。 
這裏寫圖片描述
這裏寫圖片描述


再首先到build/lib/merge目錄下查找,也發現了有該jar包,於是又引入該jar包,然後重新編譯刷新,發現plugins的一些目錄下還有錯誤了: 
這裏寫圖片描述


經過搜索,發現缺少jsr311-api,於是從網上下載該jar包拷貝到build/lib/merge目錄下,再添加到build path裏去,編譯後發現還是有錯誤: 
這裏寫圖片描述
這裏寫圖片描述
查找對應的解決方案後發現,是缺少jersey-bundle包導致的,所以下載該包後再編譯,發現該項目終於不報錯了,邁進一重大的一步。 
這裏寫圖片描述

三、Ant編譯項目

工程不會報錯後就可以開始利用ant來編譯項目了,步驟如下:

  1. 打開eclipse的ant視圖,並選擇項目的build.xml文件 
    這裏寫圖片描述 
    定位到該視圖 
    定位該視圖 
    添加該工程下build.xml文件 
    這裏寫圖片描述
  2. 運行Openfire XMPP Server的build文件 
    展開Openfire XMPP Server,選擇openfire[default],右鍵,run as ->ant build 
    展開 
    這裏寫圖片描述 
    運行 
    這裏寫圖片描述
  3. 編譯完成後的配置 
    等待一小會後,不出意外的話,控制檯會出現編譯成功的信息: 
    這裏寫圖片描述 
    並且刷新openfire工程後,會多出target和work兩個目錄: 
    這裏寫圖片描述
  4. 配置運行的主類 
    選中項目,添加eclipse工具欄: 
    這裏寫圖片描述 
    添加運行項 
    這裏寫圖片描述 
    選擇main class 
    這裏寫圖片描述
  5. 配置運行的參數 
    選中Arguments選項卡,在VM arguments中填入 
    -DopenfireHome=”${workspace_loc:openfire}/target/openfire” 
    注意不要丟了前面一個小橫線 如果你的項目名不是openfire_src 的話 要換成你的項目名 
    即 :-DopenfireHome=”${workspace_loc:【項目名】}/target/openfire” 
    這裏寫圖片描述 
    然後選擇classpath選項卡 選中User-Entries –> 選擇右側的Advanced…–>選擇Add Folder 
    分別添加src/i18n 確定 
    選擇右側的Advanced…–>選擇Add Folder 
    build/lib/dist 確定 
    選擇右側的Advanced…–>選擇Add Folder 
    src/resources/jar 確定 
    效果圖如下: 
    這裏寫圖片描述
  6. 運行成功 
    配置好上面的參數後運行,eclipse控制檯會出現運行的一些信息: 
    這裏寫圖片描述 
    然後大功告成了!!! 
    用瀏覽量訪問:http://localhost:9090就可以了進行一些配置了。 
  7. 四、配置

  8. 1. 打開http://localhost:9090這裏寫圖片描述
  9. 2. 選擇 Simplified Chinese (zh_CN) ,Continue->繼續->選擇標準數據庫連接

  10. 3.配置數據庫,然後繼續

  11. 4.選擇初始設置,繼續。
  12. 5.配置管理員用戶名、密碼。。繼續或者跳過這一步

  13. 6.安裝成功!

  14. 7.然後到target/openfire/conf,修改openfire.xml,節點database的serverURL

  15. 修改後是:

  16. 注意分隔符!

五、注意

項目中缺少的一些jar包可以在網上搜索下載,推薦用maven來下載,提供一個jar包下載的網址:http://mvnrepository.com 
部分依賴的jar包可從這裏下載:http://download.csdn.net/detail/haunghui6579/8521567 
若有問題,可郵箱聯繫:[email protected]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章