文档章节

Openfire服务端源代码开发配置指南

丁佳辉
 丁佳辉
发布于 2017/02/08 15:37
字数 798
阅读 4
收藏 0

Openfire服务端源代码开发配置指南

作者: Michael 日期: 2013 年 3 月 19 日 发表评论 (30)查看评论

本文将图文介绍如何把openfire(以3.8.1为例)源码配置导入Eclipse,编译并启动的详细过程。

目录:

  1. 下载源码
  2. 配置Eclipse项目
  3. ANT编译项目
  4. 运行Openfire项目

[一]、下载源码

打开网址:http://www.igniterealtime.org/downloads/source.jsp 选择目前最新版本 openfire_src_3_8_1.zip下载。

[二]、配置Eclipse项目

1、把下载好的 openfire_src_3_8_1.zip 压缩包直接解压到Eclipse的工作目录(以我 D:\workspace_sun\ 为例),结构如下:

2、把 openfire_src\build\eclipse 目录下的文件夹setting、文件classpth、文件project全部copy到 openfire_src\ 目录下,然后把openfire_src\classpth、openfire_src\project修改成Eclipse工程配置文件格式:openfire_src\.classpath 、openfire_src\.project (如果无法修改文件名,copy任一现有项目的文件后修改其内容亦可)。

3、然后打开Eclipse,选择 File –> Import… –> Existing Projects into Workspace  选择D:\workspace_sun\openfire_src 导入即可:

导入后目录结构如下:

3、项目导入后编译错误的解决

目录:/openfire_src/src/plugins/clustering/src/java 报错是因为缺少coherence相应的包:coherence.jar、coherence-work.jar,具体信息可以参考:openfire_src/src/plugins/clustering/lib/README.TXT 中的说明。可以从其官网下载:http://www.oracle.com/technetwork/middleware/coherence/downloads/index.html

下载jar包后copy到目录:/openfire_src/src/plugins/clustering/lib 下,把这两个jar 添加到classpath中,直接在/openfire_src/.classpath 文件中添加如下内容即可:

XHTML

 

1

2

<classpathentry kind="lib" path="src/plugins/clustering/lib/coherence.jar"/>

<classpathentry kind="lib" path="src/plugins/clustering/lib/coherence-work.jar"/>

目录:/openfire_src/src/plugins/sip/src/java 报错是因为 SipCommRouter.java和SipManager.java 这两个类没有实现抽象方法和完成异常处理,最简单的解决办法是利用Eclipse自动修复功能进行修复即可。

[三]、ANT编译项目

Eclipse已经集成了Ant,所以我们只需要在 /openfire_src/build/build.xml 文件右击,选择Run As –> Ant Build 即可完成编译,编程成功后,会在/openfire_src/的跟目录下生成两个新的文件夹:target 和 work 。

[四]、运行Openfire项目

1、配置资源文件

在Build Path配置中把  /openfire_src/src/i18n 、/openfire_src/src/resources/jar 、/openfire_src/build/lib/dist文件夹添加到 Source 中,如图:

2、配置启动参数

选择Run –> Run Configurations… 左边的Java Application,单击右键,选择 New:

把默认name:New_configuration 修改成:ServerStarter

选中Main选项卡,点击Browse按钮选择 openfire_src 项目;单击Search 按钮输入:ServerStarter 自动过滤后选择:ServerStarter – org.jivesoftware.openfire.starter:

选中Arguments选项卡,在VM arguments中填入:

-DopenfireHome=“${workspace_loc:openfire_src}/target/openfire”

注意:项目路径 ${workspace_loc:openfire_src}

选中Common选项卡,将Debug和Run打钩(方便之后快速启动),然后点击apply,再点击run:

3、运行后控制台日志如下:

 

1

2

Openfire 3.8.1 [Mar 18, 2013 11:23:33 PM]

Admin console listening at http://127.0.0.1:9090

4、浏览器中输入地址: http://127.0.0.1:9090 回车:

看到上述界面表示Openfire的源码配置、导入、编译、启动已经圆满成功了。

后续服务端配置指南的过程可以参考:http://www.micmiu.com/opensource/openfire/openfire-server-install

[五]、参考

本文转载自:http://www.micmiu.com/opensource/openfire/openfire-src-config/

共有 人打赏支持
丁佳辉
粉丝 20
博文 423
码字总数 198443
作品 0
浦东
程序员
私信 提问
openfire用eclipse编译

这次我们的项目是用openfire作为IM的服务端,以前听说过,但是没有接触过,直接到官方下载源代码,现在开源了,而且部署很方便,不过需要研究下他的原理和结构。公司网站:www.weigecheng.co...

siyimu
2012/05/22
0
0
java即时通信解决方案openfire+spark完整安装指南

本文介绍基于java的即时通信解决方案openfire3.6.4+spark2.5.8的完整的安装说明,并介绍了使用smack的java类库如何与im用户交互的例子,这样使得业务系统的消息可以通过smack编程将消息发送给...

迷途d书童
2012/03/09
608
0
使用openfire,spark,fastpath webchat搭建在线咨询服务详细图文解说

这几天试用了下openfire相关应用,搭建一个简单的在线咨询服务,有点类似阿里旺旺,可以web页面在线咨询,也可以加为好友在pc客户端中咨询 使用场景:企业业务咨询 1.在官网http://www.ignite...

暗夜孤灯
2014/10/16
0
3
Android推送通知指南

在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户 端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对...

LiSteven
2013/03/28
0
0
Android 推送通知指南

在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相对比...

鉴客
2011/10/16
32.7K
35

没有更多内容

加载失败,请刷新页面

加载更多

安装mysql8.0.11以及修改root密码、连接navicat for mysql。

安装mysql8.0.11以及修改root密码、连接navicat for mysql。   最近在学习node.js,少不得要跟数据库打交道,于是打算安装一个数据库软件,在mongedb和mysql之间选择了mysql。作为一个数据...

linjin200
2分钟前
0
0
前嗅ForeSpider教程:创建模板

今天,小编为大家带来的教程是:如何在前嗅ForeSpider中创建模板。主要内容有:模板的概念,模板的配置方式,模板的高级选项,具体内容如下: 一,模板的概念 模板列表的层级相当于网页跳转的...

forespider
4分钟前
0
0
OSChina 周三乱弹 —— 除了电脑,别人都很开心

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲,《三亩水田》- 蚂蚁先生 《三亩水田》- 蚂蚁先生 手机党少年们想听歌,请使劲儿戳(这里) @uknow8692 :感谢失业,让我...

小小编辑
6分钟前
56
10
django数据库自动重连

简介 Django数据库连接超过wait_timeout导致连接丢失时自动重新连接数据库 https://github.com/zhanghaofei/django-db-reconnect 安装 pip install django_db_reconnect 注意仅支持pymysql...

张豪飞
10分钟前
0
0
PostMan 工具使用使用,以及不同请求对应的ContentType 的设置

https://www.jianshu.com/p/d230d27b44fe

kuchawyz
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部