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

目录:

下载源码

配置Eclipse项目

ANT编译项目

运行Openfire项目

[一]、下载源码

[二]、配置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

目录:/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、运行后控制台日志如下:

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]

Adminconsolelisteningathttp://127.0.0.1:9090

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

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

[五]、参考

openfire服务器源码,Openfire服务端源代码开发配置指南相关推荐

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

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

  2. 成品app直播源码,服务端与客户端传输视频文件

    成品app直播源码,服务端与客户端传输视频文件相关的代码 Server端 #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECATED_NO_WARN ...

  3. 校园跑腿小程序源码,服务端+客户端,可运营

    需要准备 1.小程序 2.服务器(推荐配置2h4g3m) 3.域名(需要备案) 搭建教程 使用服务器搭建宝塔 安装pm2管理器 新建项目上传服务器接口 修改/pub/config/config.js ...

  4. 校园服务小程序源代码分享园服务微信小程序全开源版源码-包含服务端

    2021年4月17日更新 严正声明: [请一定勿将程序用户商业用途且 包括 用此程序去参加各类学校的竞赛或者其他以获取名利而参与的竞赛等,一旦被原作者发现将会面临严重的侵权责任后果,特别是被获奖后会遭 ...

  5. openfire服务器源码阅读学习之启动流程(一)

    openfire启动流程(ServerStarter类.XMPPServer类) 首先从org.jivesoftware.openfire.starter包下的ServerStarter.java文件 ...

  6. java调用dubbo服务器_dubbo源码分析-服务端注册流程-笔记

    前面,我们已经知道,基于spring这个解析入口,到发布服务的过程,接着基于DubboProtocol去发布,最终调用Netty的api创建了一个NettyServer. 那么继续沿着Registry ...

  7. openfire服务器源码,第四课、Openfire开发环境的搭建

    Openfire是一个Java应用程序,它有一个main函数,这个函数位于类org.jivesoftware.openfire.starter.ServerStarter中. 我们需要将这个类设置为应 ...

  8. android 快传 源码_最新安卓仿茄子快传APP源码包括服务端源码Android开发快传类项目源码全套...

    适使用范围:  安卓APP茄子快传源码 Android项目源码相似茄子快传的快传项目包括服务端 运行环境:  Android app 源码详细: 本项目是一个基于安卓的相似茄子快传的项目源码,包括安卓 ...

  9. telnet服务端c 语言源码,Telnet服务端易语言源码

    源码调用了易语言扩展界面支持库,使用易语言服务器组件实现了Telnet服务端应用. @爱三叶资源网源码.版本 2 .支持库 iext .程序集 窗口程序集1 .程序集变量 telnet客户, teln ...

最新文章

  1. 图像二值化----otsu(最大类间方差法、大津算法)(二)
  2. 微型计算机最早提出于,计算机基础题1、世界上第一台电子计算机诞生于A)1943年B-查字典问答网...
  3. 点击按钮测试用例标题_功能测试有哪些用例?分享功能测试用例大全
  4. ERROR Streaming result set com.mysql.jdbc.RowDataDynamic@1d5a7f6 is still active. No statements may
  5. 尬出天际!和导师微信聊天大型翻车现场!
  6. Oracle 11g ora 15018,oracle 11gR2 RAC root.sh 错误 ORA-15072 ORA-15018
  7. 《大数据》第1期“研究”——大数据管理系统评测基准的 挑战与研究进展(上)...
  8. Fedora 10 的主要功能特性已经冻结
  9. oracle启动时报错ORA-00845 MEMORY_TARGET not supported on this system
  10. Linux脚本(1)__批量下载
  11. 剑指offer面试题66. 构建乘积数组
  12. 批量更新 elasticsearch 内指定字段状态, 先查询后更新
  13. 业务太忙,真的是没时间搞自动化理由吗?
  14. matlab熵权法,matlab—熵权法
  15. noip2014 无线网路发射器选址 (模拟)
  16. 赋值运算符与逗号运算符
  17. 一篇解释清楚Cookie是什么?
  18. 数据预处理之One-Hot(独热编码)编码
  19. 再寄小读者之数学篇[2014.01.01-2014.06.30]
  20. 矿大G毕业生的礼物(贪心)

热门文章

  1. 7-24 树种统计 (25 分)
  2. Ribbon和Nginx的区别
  3. hdu 3833 YY's new problem
  4. 解决移动端使用window.open跳转链接时,苹果iOS没有反应的问题
  5. FatesrNet:Run, Don‘t Walk: Chasing Higher FLOPS for Faster Neural Networks
  6. LevelDB中的Compaction流程
  7. js 时间转东八区_dayjs处理utc转换
  8. 常见的限流算法及其原理剖析
  9. 显示器花屏 还会出现重启
  10. vue项目中 img标签加载失败(404)方法,@error事件