关于Eclipse部署openfire3.8.2源码的体会

时间:2022-06-30 08:26:08

因为公司要做人际银行的一个项目需要openfire(服务器)+asmack(客户端),所以需要对消息的推送及消息发送知识的积累。所以需要研究xmpp,以前不是很了解这个技术,现在需要学习。首先就得部署服务器openfire,在博客中下载好openfire3.8.2的源码,然后放到eclipse4.2中部署,发现报了很多错。自己也在网上查了但是发现网上很多处理方式大同小异,但是都不适用我这次的3.8.2 一般网上说的都是部署3.7.1的我按照上面的来调试错误发现还是有问题。一次次怀疑,怀疑java环境没搭建好,怀疑源码错误。后来还是上网查资料,发现了一些错误。

在这里我需要提醒大家注意几点:

1.很多初级程序员在开发android(我也是开发android)用的工具是google的继承eclipse开发工具,所以java的环境(如classpath)没有配置好,导致了一些classNotException错误,建议大家用这类工具的时候配置环境。

2.我们可以参考参考openfire3.7.1的源码部署 事先我们备份好3.8.2源码

其实我也是参考了csdn上这哥们的心得 按照他的来基本可以的,呵呵 在此感谢 programgsopenfire 3.8.2版源码调试http://blog.csdn.net/programgs/article/details/9613391

最近听说3.8.2使用了新的集群hazelcast,于是下载调试

jdk,eclipse,ant这些东西安装就不说了,

第一步:首先点击eclipse的new,然后选择java project,在location里导入你刚才下载的openfire_src.

第二步:会有三处报错,分别是cluster,hazelcast,sip这个三个插件报错,第一个报错,是缺少三个包

第三步:下载附件jar包,解压,将其copy到src/plugins/clustering/lib下,然后右键选择add path.....,将其导入到环境。

第四步:由于cluster插件与hazelcast插件源码重复,对比两边源码,然后在cluster源码中删除与hazelcast想同的类,同时,sip插件源码是由于没有完全实现接口的方法和没有处理异常,导致的,你使用eclipse修复就行了,此时没有错误了

第五步:删除cluster插件的plug.xml文件,然后再右键点击openfire_src工程,选择build path,在选择configuration build path。。。进入,选择add folder,然后选择src/build/lib/dist ,src/i18n,src/resources/jar,点击ok

第六步:使用ant编译

第七步:右键点击java application,点击new,然后配置启动项,需要配置的地方有三处,第一处:Main下的,main class,输入serverStart进行查找,选择,org.jivesoftware.openfire.starter.serverStart ,然后点击apply,第二处:选择Arguments,在VM arguments里输入-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"  第三处:选择Common,在里面对run,debug打钩,点击apply,然后点击RUN,这时就运行起来了,

最后:在页面输入:127.0.0.1:9090,就可以看到openfire的管理页面,后面的配置网上大把,,此文是我自己的笔记,写的比较抽象。。

好了  可以调试运行了 祝你大功告成喔