一、 在上一篇博文中,我介紹了Openfire3.9.3源代碼導入eclipse中開發配置指南後,在這篇博文中,我介紹一下openfire插件的開發,由於在不少使用openfire的過程當中,須要更改openfire默認的一些行爲,這就涉及到插件的開發。這裏我也是寫一個HelloWorld的入門案例,但願起到一些拋磚引玉的做用,也算是對我工做,學習的一個總結吧,歡迎你們給我留言提出問題和不足,你們共同進步。html
二、案例插件的功能java
這個插件很簡單,就是在openfire Server啓動時,和關閉時,在控制檯打印出消息。web
三、插件開發的目錄結構設計app
先來看一下當前openfire在eclipse中的目錄結構:eclipse
目錄太長,我截取一部分,如今,咱們開始寫插件。在\openfire_src\src\plugins目錄下新建一個helloWorld的文件夾,而後在helloWorld目錄下新建一個src的文件夾,放頁面和源文件,再新建一個lib目錄放第三方的jar包,而後在src文件夾下面新建web,java兩個文件夾,web下面放置頁面,在這個案例沒有用到,能夠不建,java文件夾下面放置java源文件,如今目錄結構以下:ide
changelog.html、plugin.xml、readme.html這三個文件分別是你的插件修改日誌文件,插件文件和自述文件,其中plugin.xml這個文件很重要,後面我還要解釋,先空着,logo_large.gif和logo_small.gif是插件的logo文件,我隨便拷了兩個。各位,作好上面的步驟之後,注意了,跟openfire自帶插件的目錄結構不同,細心的朋友可能注意到了,我新建的src下面有個java目錄,而openfire自帶插件則沒有,而是跑到上面去了,以下:學習
不要着急,作完這一步,咱們的插件就跟openfire自帶插件同樣了,步驟截圖以下:ui
這時,咱們看到,src目錄下的java目錄不見了,而在上面的源碼目錄有了咱們本身插件了,截圖以下:spa
好了,咱們先建一個包,以下:.net
輸入包名:
如今包建好了,咱們在這個包中建一個java文件,名爲:HelloWorldPlugin,我就不截圖,這個學過java的人就應該知道,內容以下:
[java] view plain copy
內容很簡單,就是在openfire啓動和關閉時,在控制檯打印出一條消息。保存好了,咱們的java源文件就寫好了,如今咱們該來寫plugin.xml文件了,內容以下:
[html] view plain copy
以及注意上面的class的配置,那個配置是最爲重要的,配置的是插件的全路徑;name是插件的名稱,安裝後的插件名稱;author是插件做者;adminconsole是配置插件關聯的頁面的;這裏不須要。
四、編譯插件
展開\openfire_src\build目錄,咱們發現有一個build.properties.template文件,咱們將其重命名爲:build.properties,在這個build.properties中加上一行:plugin=helloWorld,截圖以下:
使用ant編譯插件,截圖操做以下:
在彈出的target中選擇build one plugin,點擊Apply,Run:
以後,咱們在控制檯上看到:
構建成功,咱們在相應的目錄下,能夠看到,生成的插件包:helloWorld.jar
如今咱們來運行咱們的插件,看在控制檯上能不能打印相應的信息,啓動openfire,咱們看到在控制檯上一句:
好了,大功告成,網上有不少人問,怎麼調試插件,這不很簡單,直接debug openfire不就好了:
終於完成,但願對你們有所裨益!!!睡覺