因为公司要做人际银行的一个项目需要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的管理页面,后面的配置网上大把,,此文是我自己的笔记,写的比较抽象。。

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

关于Eclipse部署openfire3.8.2源码的体会的更多相关文章

  1. 部署Openfire3.9.3源码部署

    1,下载Openfire3.9.3源码代码:http://www.igniterealtime.org/downloads/index.jsp 2,具体的配置请参考http://blog.csdn.n ...

  2. eclipse查看class文件的源码

    eclipse查看class文件的源码: 1.网上下载jadClipse的jar包和执行文件jad.exe和 net.sf.jadclipse_3.3.0.jar. 2.把上面下载的jar包放在ecp ...

  3. 在Eclipse中关联Android API源码

    在Eclipse中快速关联API源码,便于查看类以及方法.方法如下: 1. 在对应的项目文件右键——>properties——>java build path——>libraries ...

  4. 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  5. 配置Eclipse可以查看JDK类库源码

    一.配置方法 配置Eclipse可以查看JDK类库源码 Window->Preferences->Java->Installed JREs 若没有JRE,需要自己添加进来,有的话,点 ...

  6. eclipse下编译openfire3.9.1源码

    [一].下载源码 打开网址:http://www.igniterealtime.org/downloads/source.jsp 选择目前最新版本 openfire_src_3_9_1.zip 下载. ...

  7. 基于tomcat插件的maven多模块工程热部署(附插件源码)

    内容属原创,转载请注明出处 写在前面的话 最近一直比较纠结,归根结底在于工程的模块化拆分.以前也干过这事,但是一直对以前的结果不满意,这会重操旧业,希望搞出个自己满意的结果. 之前有什么不满意的呢? ...

  8. Android 如何在Eclipse中查看Android API源码 及 support包源码

    当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...

  9. 在Eclipse中进行HotSpot的源码调试--转

    原文地址:http://www.linuxidc.com/Linux/2015-05/117250.htm 在阅读OpenJDK源码的过程中,经常需要运行.调试程序来帮助理解.我们现在已经可以编译出一 ...

随机推荐

  1. EntityFramework中的线程安全,又是Dictionary

    继上次记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)后又再次与Dictionary博弈,这一次是在EntityFramework中的Dictionary. 从一个异常说起 这 ...

  2. How to set China Azure Storage Connection String

    Configure Visual Studio to access China Azure Storage Open Visual Studio 2012, Server Explorer Add n ...

  3. [POJ2155]Matrix(二维树状数组)

    题目:http://poj.org/problem?id=2155 中文题意: 给你一个初始全部为0的n*n矩阵,有如下操作 1.C x1 y1 x2 y2 把矩形(x1,y1,x2,y2)上的数全部 ...

  4. Boostrap(1)

    1.简介 Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,可以认为bootstrap就是一个样式库. ...

  5. eclipse&android的环境搭建

    这次我选择使用Android来完成这次软件工程实践,不过配置eclipse和android环境真是个麻烦事. 因为之前有用过eclipse,对其比较熟悉,于是就放弃了android studio这个工 ...

  6. Mvc多级Views目录 asp.net mvc4 路由重写及 修改view 的寻找视图的规则

    一般我们在mvc开发过程中,都会碰到这样的问题.页面总是写在Views文件夹下,而且还只能一个Controller的页面只能写在相应的以 Controller名命名的文件夹下.如果我们写到别处呢?那么 ...

  7. [转]Java静态方法为什么不能访问非静态方法

    非静态方法(不带static)可以访问静态方法(带static),但是反过来就不行,为什么呢? ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 publi ...

  8. 小菜鸟学 MQ(三)

    创建程序测试MQ 1,创建生产者 package com.robert; import java.util.Hashtable; import java.util.Map; import javax. ...

  9. 【ZOJ 3844】Easy Task

    题意 每次把序列中最大的数a的一个和最小的数b的一个变成a-b.求最后是否能使序列里的数全部相同,能则输出这个相同的数. 分析 一定是有解的,不断减少最大数的个数,最大数减少为0个时,就是减少了不同数 ...

  10. Hive 正则匹配函数 regexp_extract

    regexp_extract 语法:    regexp_extract(string subject,  string pattern,  int index) 返回值: string 说明:  将 ...