1、 從Openfire SVN Server中dump出源碼;
2、 Build: ant & ant plugins
3、 將build后的target/openfire作為openfire_home
4、 在target/openfire下建立兩個(gè)目錄:src和classes,將dump下來的源碼copy到src路徑下,將classes設(shè)置為eclipse編譯后的輸出路徑
5、 將$openfire_home/lib下的openfire.jar中src中存在的部分刪除,剩下的部分作為新的openfire.jar,注意,在ubuntu下之間打開openfire.jar時(shí),直接將/org/jivesoftware/admin, /org/jivesoftware/openfire, /org/jivesoftware/util三個(gè)目錄刪除,而對(duì)于/org/jivesoftware/database目錄,只將源碼中有的那部分刪除,/org/jivesoftware下面還有一個(gè)隱藏目錄/org/jivesoftware/stringprep,不能刪除,接下來,將$openfire_home/lib下的jar包作為工程的Referenced Libraries.
6、 將取出來的工程下src/web/WEB-INF/classes/openfire_init.xml導(dǎo)入到eclipse的查詢路徑里,如將src/web/WEB-INF/classes目錄作為eclipse的源目錄,這樣openfire_init.xml自動(dòng)copy到$openfire_home/classses下面,將openfire_init.xml中的openfireHome設(shè)置為$openfire_home
7、 修改org.jivesoftware.openfire.starter.ServerStarter中的如下兩個(gè)field,
private static final String DEFAULT_LIB_DIR = "../lib";
private static final String DEFAULT_ADMIN_LIB_DIR = "../plugins/admin/webapp/WEB-INF/lib";
改成:
private static final String DIR_PREFIX = "$openfire_home"; // to be your own openfire_home
private static final String DEFAULT_LIB_DIR = DIR_PREFIX + "lib";
private static final String DEFAULT_ADMIN_LIB_DIR = DIR_PREFIX + "plugins/admin/webapp/WEB-INF/lib";