最近因为需求,需进行openfire的插件开发,因而需将openfire的源码进行部署,目前最新的openfire稳定版本是3.9.3,官方下载地址是http://www.igniterealtime.org/downloads/index.jsp,下载页面如图:
也能够到github上下载最新的3.10beta版的源码,下载地址:https://github.com/igniterealtime/Openfiregit
进入下载好的源码的build/eclipse目录下,拷贝其下面的全部文件和文件夹到build上级目录(可能名为欧openfire),将文件classpath、project分别修改为.classpath,.project(windows下可能不能直接修改,能够拷贝其余现成的eclipse工程下的这两个文件,而后修改其内容替换便可),以下图: github
修改后的效果及目录结构以下图: windows
而后直接导入eclipse api
导入后会出现红色的感叹号,或者报错,效果如图: eclipse
下面来一步一步的解决,右键查看项目的一些jar的依赖状况,以下图: jsp
红色的×说明缺乏jar,在网上下载对应的jar,而后导入到对应的目录就好了 maven
添加好上图所需的一些jar包后,从新编译刷新后,发现会报一些错误: 工具
一步步跟进,发现一些类找不到,原来还缺乏一些jar包: ui
经过上网搜索发现,须要org.eclipse.jetty.spdy.server.http包,在build/lib/merge目录下发下含有spdy字段的jar包,因而果断添加到build path 中去
添加后,再编译刷新,发现刚才出错的地方终于消失了,但仍是有错误,发现缺乏jetty-servlets 包,以下图。 spa
再首先到build/lib/merge目录下查找,也发现了有该jar包,因而又引入该jar包,而后从新编译刷新,发现plugins的一些目录下还有错误了:
通过搜索,发现缺乏jsr311-api,因而从网上下载该jar包拷贝到build/lib/merge目录下,再添加到build path里去,编译后发现仍是有错误:
查找对应的解决方案后发现,是缺乏jersey-bundle包致使的,因此下载该包后再编译,发现该项目终于不报错了,迈进一重大的一步。
工程不会报错后就能够开始利用ant来编译项目了,步骤以下:
打开eclipse的ant视图,并选择项目的build.xml文件
定位到该视图
添加该工程下build.xml文件
运行Openfire XMPP Server的build文件
展开Openfire XMPP Server,选择openfire[default],右键,run as ->ant build
展开
运行
编译完成后的配置
等待一小会后,不出意外的话,控制台会出现编译成功的信息:
而且刷新openfire工程后,会多出target和work两个目录:
配置运行的主类
选中项目,添加eclipse工具栏:
添加运行项
选择main class
配置运行的参数
选中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 肯定
效果图以下:
运行成功
配置好上面的参数后运行,eclipse控制台会出现运行的一些信息:
而后大功告成了!!!
用浏览量访问:http://localhost:9090就能够了进行一些配置了。
项目中缺乏的一些jar包能够在网上搜索下载,推荐用maven来下载,提供一个jar包下载的网址:http://mvnrepository.com