一、源码下载
最近由于需求,需进行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工程下的这两个文件,然后修改其内容替换即可),如下图:
修改后的效果及目录结构如下图:
然后直接导入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来编译项目了,步骤如下:
- 打开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
部分依赖的jar包可从这里下载:http://download.csdn.net/detail/haunghui6579/8521567
若有问题,可邮箱联系:huanghui6579@163.com