本文将图文介绍如何把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
<classpathentry kind="lib" path="src/plugins/clustering/lib/coherence.jar"/> <classpathentry kind="lib" path="src/plugins/clustering/lib/coherence-work.jar"/>
1
2

<classpathentrykind="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自动修复功能进行修复即可。

4. 导入jar包

点击下图的“add JARs...”,然后点击下图中lib的jar导入

[三]、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}/target/openfire"

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

Java_Application -->Classpath 添加如下内容:

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

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

Openfire 3.8.1 [Mar 18, 2013 11:23:33 PM] Admin console listening at http://127.0.0.1:9090
1
2

Openfire3.8.1[Mar18,201311:23:33PM]
Admin console listeningathttp://127.0.0.1:9090

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

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

后续服务端配置指南的过程可以参考: http://www.micmiu.com/op

Openfire 源码部署相关推荐

  1. openfire服务器源码,Openfire源码部署以及编译运行.doc

    Openfire源码部署以及编译运行 Openfire源码下载 可以去官方网站:官网地址/projects/openfire/. 也可以利用eclispe自带的SVN插件导入,再次就过多介绍,官网上写 ...

  2. Openfire4源码部署到eclipse中并编译

    Openfire4源码部署到eclipse中并编译 概述 Openfire是众所周知的基于xmpp协议的IM开源服务,所有操作,配置,监控,调试等以B/S方式进行展示,非常的方便管理员进行管理.它的强 ...

  3. MySQL 源码 需要 什么基础_MySQL 基础之 源码 部署

    源码部署 1. 需要先卸载一些软件 centos7 中需要先卸载 mariadb-libs 软件包 # rpm -e --nodeps mariadb-libs 2. 安装依赖包 yum -y ins ...

  4. SHOP++源码部署说明:

    2019独角兽企业重金招聘Python工程师标准>>> SHOP++源码部署说明: 1. 安装MyEclipse.Tomcat.MySQL/Oracle/SQL Server 2. ...

  5. mondrain配置mysql_mondrian 4.7 源码部署(示例代码)

    mondrian是一个开源的数据分析工程, 网上有关mondrian3.X的源码部署比较多, 有关4.X的部署较少. 目前官方推荐使用的时mondrian3.7的修订版, 可以再github上下载到最 ...

  6. 基于openfire源码开发插件

    [0]README 1)本文旨在 简述如何 基于openfire源码开发插件, 如何导入 openfire源码到 eclipse,参见 http://blog.csdn.net/pacosonswjt ...

  7. 使用源码部署CITA(Ubuntu18.0.4 | VMware)

    使用源码部署CITA(Ubuntu18.0.4 | VMware) 先挑选一个地方准备用做下载位置(自主选择) 提前进入选择的目录 例: $ cd /home/liubai $ mkdir cita ...

  8. java开源即时通讯软件服务端openfire源码构建

    java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...

  9. 人工智能研究中心快递柜——源码部署及分析综述

    2021SC@SDUSC 目录 项目简介 1.格子柜 2.审计柜 人员分工 源码部署 项目简介 1.格子柜 格子柜项目主要用于物品的存储和中转功能,项目分为微信小程序.安卓柜子端.web后台三个呈现形 ...

最新文章

  1. redux VS mobx (装饰器配合使用)
  2. art-template在项目中的应用
  3. LNMP shell
  4. Java 设计模式之模板方法模式
  5. javascript面向对象技术基础(四)
  6. 是真“开发者”,就来一“测”到底!
  7. 腾讯视频下载安装链接_腾讯视频怎么上传视频
  8. [转]数据科学家能力发展路线图
  9. 将你的数据导入到json格式
  10. 圆柱与平面接触宽度_好烦!这个建筑高大斜圆柱真难施工!别怕!学会这种工法就不难了...
  11. 将本地code推到gitee
  12. VC++ MsChart控件怎么用?
  13. 计算机视觉论文-2021-07-27
  14. 软件测试证书(1)— 软件评测师
  15. Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setNextAnim(int)'
  16. 单细胞多组学联合应用
  17. 推广软件开发分析规范
  18. JavaScript 每日一题---LeetCode 2.两数相加
  19. 原理图库:元器件引脚命名如何输出上划线
  20. PIL中paste粘贴遇到的问题

热门文章

  1. java 滑动窗口_【Java】 剑指offer(59-1) 滑动窗口的最大值
  2. matlab绘制多条折线图
  3. CUDA简易安装教程
  4. MATLAB小波工具箱
  5. linux动态链接库的使用,Linux动态库soname的使用
  6. eureka心跳_Eureka工作原理及心跳机制
  7. Java基础-Java中的堆内存和离堆内存机制
  8. Spring第二弹—–搭建与测试Spring的开发环境
  9. Windows Server 2008 SVN 配置
  10. nginx处理web请求分析