在eclipse上部署openfire 3.9.1源码,並配置openfire
参考文章:https://my.oschina.net/u/1409622/blog/205603
在网上找了很久部署openfire源码的文章,由于我使用的是最新的3.9.1源码,试了很多种部署方法,都无法使用。后来看到下面这兩篇文章http://blog.csdn.net/StillCity/article/details/16988317,http://blog.csdn.net/ares1201/article/details/7737872;经测试可以正确使用。
注:此处错误不影响运行的原因是plugin包下的都是插件,个别插件的错误并不影响openfire的运行,对于错误的插件包,删除即可
不过项目还是会有几个错误,但不影响运行,如果有知道解决方法的,麻烦告知我一下。
此文章是以3.8.2为例,经测试,3.9.1也可以正确使用,个别错误并不影响程序运行
1、准备:安装jdk就不用说了把。网上多的是这里就不赘述了。
a.源码下载:【官网】http://www.igniterealtime.org/downloads/source.jsp 选择openfire下载;
b . eclipse开发工具我的是4.2 版本,
2 开始部署:
首先打开eclipse将openfire源码解压到eclipse的workspace 目录下 或者选择新的workspace
选择 openfire源码的上级目录(即下图的workspace目录)点击确定(我的是已经拷贝到workspace目录下的) 
然后新建一个java项目 项目名与源码文件名必须一样 eclipse会自动加载源码项目
然后会得到如图所示的界面 
这个地方缺少两个jar包 coherence.jar , tangosol.jar 网上也有说少三个的 另外一个是 coherence-work.jar
这三个jar包的下载地址是 免积分的 免积分才爽快 :http://download.csdn.net/detail/stillcity/6620479
将coherence.jar , tangosol.jar 拷贝到build目录下的lib目录下 或者随便建个其他目录放进去
选中两个jar包 右击添加到buildpath 
稍等片刻 eclipse要重建工作空间 完成后发现还有错误 怎么办?
来 这么干。 
先看sip包中的错误:
打开两个错误类 后会发现

这两个错误相同都是没有实现所有的抽象方法
鼠标点击一下 Add unimplemented methods 即可 另外SipManager类中还需要捕获一个异常
这样就 解决了这个问题
然后还有另一个 报了很多错的问题:
可以看到这两个目录结构相同的资源包 大家把上面红框的删掉就可以了,下面就不报红了。
此处需注意,由于本人是使用3.9.1的源码,依照上述方法调试后,还会有错误,如下 
不过此处错误并不会影响项目运行,继续下面的步骤。
第三步:选择菜单栏 window->Show View ->Ant

点开右击Openfire XMPP Server 选择 openfire[default] 右击 
刷新eclipse项目多出两个文件夹 work 和target

选中Arguments选项卡,在VM arguments中填入 -DopenfireHome="${workspace_loc:openfire_src}/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 确定
点击Apply --> Run 控制台出现了 Openfire 3.8.2 [Nov 27, 2013 6:01:35 PM] Admin console listening at http://127.0.0.1:9090 然后就大功告成了....... 恭喜 恭喜 访问http://127.0.0.1:9090 开始配置你的openfire吧。
在浏览器中输入上图的地址http://127.0.0.1:9090

选择中文,然后继续。服务器设置可直接跳过。数据库设置选择标准数据库连接,点击继续 
在数据库设置-标准连接设置界面,选择数据库驱动mysql,更改数据库url,其中需要更改的有服务器ip地址,还有数据库名,建议单独建立一个名为openfire的数据库。输入数据库管理员的账号和密码,下一步。 
数据库连接成功后界面,直接点击继续。 
管理员账户设置界面,输入管理员的邮箱地址,还有管理员的账号的密码,初始账号为admin。

完成设置,登录到管理控制台,初始账户名admin密码为上一步设置的密码。 
登陆成功后显示 
检测服务器是否配置成功,到http://www.igniterealtime.org/downloads/index.jsp下载Spark

安装Spark,一路next,然后finish。运行Spark,创建Spark账号 
使用创建的账号登陆Spark,登陆成功可在Openfire管理控制台的用户组看到新注册的用户和在线状态

备注:
我测试用的是4.0.3的版本,还遇到以下问题:
遇到报错信息里有ant,我把ant.jar下载后放到lib下,并加入buildpath,然后重新用ant编译项目。
ant.jar下载地址:http://ant.apache.org/bindownload.cgi

启动报错:

还有一个关键的一步是Openfire的Home设定
在XMPPServer类中有一个locateOpenfire方法,这个方法就是设置openfireHome属性。
- 具体修改如下:
// and just look for home in a standard sub-dir location and verify
// by looking for the config file
if (openfireHome == null) {
try {
//修改的是下面的代码,将".."替换为其他路径了
openfireHome = verifyHome("C://Program Files//Openfire", jiveConfigName).getCanonicalFile();
}
catch (FileNotFoundException fe) {
// Ignore.
}
catch (IOException ie) {
// Ignore.
}
}这部分默认是找当前路径,你可以修改它为你安装Openfire的路径,这样问题就解决了
路径我配置成ant编译后所在路径了

编译项目:右击build目录下的build.xml,这样也是可以的

启动:
右击项目





启动成功后访问 http://127.0.0.1:9090
openfire源码修改聊天消息发送内容
MessageRouter.java类

在eclipse上部署openfire 3.9.1源码,並配置openfire的更多相关文章
- 将Android源码导入eclipse中的方法以及编译Android源码指定模块
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53365659 将android源码导入eclipse.androidstudio. ...
- 怎么eclipse或MyEclipse中添加javaSe的源码
怎么eclipse或MyEclipse中添加javaSe的源码 有时在eclipse里我们调用java提供给我们的方法,我们有时需要查看java提供给我们的调用方法的源码或java提供给我们的核心类的 ...
- (转)Eclipse中需要查看某个类的源码,直接按住Ctrl 然后点击想要查看的类或则方法
文章转自:http://blog.sina.com.cn/s/blog_52f623240102vpcr.html 在Eclipse中需要查看某个类的源码,直接按住Ctrl 然后点击想要查看的 ...
- Plupload上传实例《模仿微云上传实例》,带源码
Plupload上传实例<模仿微云上传实例>,带源码,作者:鱼塘总裁 如有疑问,加群交流:646104701 一.实例截图 1.上传过程 2.上传成功 3.上传失败 4.最小化 二.所需文 ...
- 在linux操作系统上进行简单的C语言源码的gcc编译实验
尝试在linux上用gcc 而非封装完好的codeblocks,vs等ide 来编译c和cpp源程序 首先查看我的gcc版本,我的是VM centos 自带的,没有的话得自行安装,安装上gcc就可以在 ...
- (SSM框架)实现小程序图片上传(配小程序源码)
阅读本文约"2分钟" 又是一个开源小组件啦! 因为刚好做到这个小功能,所以就整理了一下,针对微信小程序的图片(文件)上传! 原业务是针对用户反馈的图片上传.(没错,本次还提供小程序 ...
- 关于在eclipse上部署Tomcat时出现8080等端口被占用问题的解决方法
问题描述: 在eclipse中部署Tomcat时,出现如下错误. 解决方法如下: 方法一: 1.开始->cmd->输入命令netstat -ano出现下图所示(注意下边显示有些错位,最后一 ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(4)-加入数据库系统搭建完成
1.前言 这是本系列的第四篇文章,上一篇我们讲到实现了客户端对客户端的抖屏与收发各种类型文件,本篇文章我们加入SQLServer数据库实现登录与好友的添加等功能,并对界面做了美化处理.向往常一样我会把 ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(2)-服务器搭建
1.前言 这是本系列的第二篇文章,第一篇文章得到了很多朋友们的支持,在这里表示非常的感谢.对于这一系列文章需要补充的是这只是一篇入门级别的Socket通信文章,对于专业人员来说完全可以跳过.本文只介绍 ...
随机推荐
- jQuery选择器之类选择器
类选择器,顾名思义,通过class样式类名来获取节点. 描述: $('.class') 类选择器,相对于id选择器来说,效率相对会低一些,但是优势就是可以多选. 同样的jQuery在实现上,对于类选择 ...
- 基于linux操作系统安装、使用redis详解
服务端安装 Redis的官方下载站是http://redis.io/download,可以去上面下载最新的安装程序下来,我写此文章时的的稳定版本是2.6.11. 步骤一: 下载Redis 进入软件安装 ...
- HDU 4746 HDOJ Mophues 2013杭州网赛I题
比赛的时候就预感到这题能出,但是会耗时比较多.结果最后是出了,但是有更简单的题没出. 是不是错误的决策呢?谁知道呢 题目意思: 定义f(x) = x分解质因数出来的因子个数 如 x = p0 * p0 ...
- BZOJ1800 [Ahoi2009]fly 飞行棋 【枚举】
题目 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. 输入格式 第一行为正整数N,表示点的个 ...
- 生成DLL
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...
- C# 技巧收藏
IIS HTTP Error 500.21 - Internal Server Error 原因:在安装Framework v4.0之后,再启用IIS,导致Framework没有完全安装 解决:开始- ...
- 使用 WideCharToMultiByte Unicode 与 UTF-8互转
1.简述 最近在发送网络请求时遇到了中文字符乱码的问题,在代码中调试字符正常,用抓包工具抓的包中文字符显示正常,就是发送到服务器就显示乱码了,那就要将客户端和服务器设置统一的编码(UTF-8),而我们 ...
- kvm qemu内幕介绍
转自:http://blog.csdn.net/wj_j2ee/article/details/7978259目录 1 硬件虚拟化技术背景 2 KVM的内部实现概述 2.1 KVM的抽象对象 2.2 ...
- Strlcpy和strlcat——一致的、安全的字符串拷贝和串接函数【转】
转自:http://blog.csdn.net/kailan818/article/details/6731772 英文原文: http://www.gratisoft.us/todd/papers/ ...
- http请求分析
一个Http请求一般始于如下几种方式: 1.在浏览器中输入一个URL地址 2.网页中的一个超链接 3.Response.Redirect("http://www.sohu.com" ...