Eclipse下OpenFire4.0.2原始碼配置+簡單外掛開發
==============原始碼配置 begin==================
1.下載:地址
2.解壓到當前資料夾openfire_src,進入openfire_src>build>eclipse目錄下,把裡面settings、classpath、project三個檔案拷貝到openfire_src目錄,並用windows命令列重新命名它們:
rename settings .settings、rename classpath .classpath、rename project .project。
3.匯入工程到eclipse中,發現有些錯誤,一些jar包missing了。
不用擔心,直接把報錯的jar包remove掉,然後把build>lib下的所有jar包括資料夾裡面的jar都導進來。
這樣,整個工程就不會報錯了,OK。
4.在Build Path配置中把 /openfire_src/src/i18n 、/openfire_src/src/resources/jar 、/openfire_src/build/lib/dist 資料夾新增到 Source 中,如圖:
餘下來,按下面的圖完成操作即可:
-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"
注意:專案路徑 ${workspace_loc:
然後,把整個工程用ant編譯一遍:
如果想單獨編譯某一個外掛的話:
==============原始碼配置
end==================
==============外掛開發
begin==================
1、 在上一篇博文中,我介紹了Openfire3.9.3原始碼匯入eclipse中開發配置指南後,在這篇博文中,我介紹一下openfire外掛的開發,因為在很多使用openfire的過程中,需要更改openfire預設的一些行為,這就涉及到外掛的開發。這裡我也是寫一個HelloWorld的入門案例,希望起到一些拋磚引玉的作用,也算是對我工作,學習的一個總結吧,歡迎大家給我留言提出問題和不足,大家共同進步。
2、案例外掛的功能
這個外掛很簡單,就是在openfire Server啟動時,和關閉時,在控制檯打印出訊息。
3、外掛開發的目錄結構設計
先來看一下當前openfire在eclipse中的目錄結構:
目錄太長,我擷取一部分,現在,我們開始寫外掛。在\openfire_src\src\plugins目錄下新建一個helloWorld的資料夾,然後在helloWorld目錄下新建一個src的資料夾,放頁面和原始檔,再新建一個lib目錄放第三方的jar包,然後在src資料夾下面新建web,Java兩個資料夾,web下面放置頁面,在這個案例沒有用到,可以不建,java資料夾下面放置java原始檔,現在目錄結構如下:
changelog.html、plugin.xml、readme.html這三個檔案分別是你的外掛修改日誌檔案,外掛檔案和自述檔案,其中plugin.xml這個檔案很重要,後面我還要解釋,先空著,logo_large.gif和logo_small.gif是外掛的logo檔案,我隨便拷了兩個。各位,做好上面的步驟以後,注意了,跟openfire自帶外掛的目錄結構不一樣,細心的朋友可能注意到了,我新建的src下面有個java目錄,而openfire自帶外掛則沒有,而是跑到上面去了,如下:
不要著急,做完這一步,我們的外掛就跟openfire自帶外掛一樣了,步驟截圖如下:
這時,我們看到,src目錄下的java目錄不見了,而在上面的原始碼目錄有了我們自己外掛了,截圖如下:
好了,我們先建一個包,如下:
輸入包名:
現在包建好了,我們在這個包中建一個java檔案,名為:HelloWorldPlugin,我就不截圖,這個學過java的人就應該知道,內容如下:
- package com.helloworld;
- import java.io.File;
- import org.jivesoftware.openfire.XMPPServer;
- import org.jivesoftware.openfire.container.Plugin;
- import org.jivesoftware.openfire.container.PluginManager;
- publicclass HelloWorldPlugin implements Plugin {
- private XMPPServer server;
- public HelloWorldPlugin() {
- }
- @Override
- publicvoid initializePlugin(PluginManager manager, File pluginDirectory) {
- server = XMPPServer.getInstance();
- System.out.println("HelloWorldPlugin----start");
- System.out.println(server.getServerInfo());
- }
- @Override
- publicvoid destroyPlugin() {
- System.out.println("HelloWorldPlugin----destroy");
- }
- }
- <?xmlversion="1.0"encoding="UTF-8"?>
- <plugin>
- <class>com.helloworld.HelloWorldPlugin</class>
- <name>helloWorld</name>
- <description>First Openfire Custom Plugin.</description>
- <author>xieyuan</author>
- <version>1.0.0</version>
- <date>14/07/2014</date>
- <minServerVersion>3.9.0</minServerVersion>
- <adminconsole>
- </adminconsole>
- </plugin>
4、編譯外掛
展開\openfire_src\build目錄,我們發現有一個build.properties.template檔案,我們將其重新命名為:build.properties,在這個build.properties中加上一行:plugin=helloWorld,截圖如下:
使用ant編譯外掛,截圖操作如下:
在彈出的target中選擇build one plugin,點選Apply,Run:
之後,我們在控制檯上看到:
構建成功,我們在相應的目錄下,可以看到,生成的外掛包:helloWorld.jar
現在我們來執行我們的外掛,看在控制檯上能不能列印相應的資訊,啟動openfire,我們看到在控制檯上一句:
好了,大功告成,網上有很多人問,怎麼除錯外掛,這不很簡單,直接debug openfire不就行了:
終於完成,希望對大家有所裨益!!!睡覺
==============外掛開發
end==================
原文:
http://www.51itong.net/openfire4-0-2-eclipse-19194.html
http://blog.csdn.net/lovexieyuan520/article/details/37774909#