Openfire3.10beta版源码在eclipse上部署编译

一、源码下载

最近由于需求,需进行openfire的插件开发,于是需将openfire的源码进行部署,目前最新的openfire稳定版本是3.9.3,官方下载地址是http://www.igniterealtime.org/downloads/index.jsp,下载页面如图: 
这里写图片描述 
也可以到github上下载最新的3.10beta版的源码,下载地址:https://github.com/igniterealtime/Openfire

二、导入eclipse

进入下载好的源码的build/eclipse目录下,拷贝其下面的所有文件和文件夹到build上级目录(可能名为欧openfire),将文件classpath、project分别修改成.classpath.project(windows下可能不能直接修改,可以拷贝其他现成的eclipse工程下的这两个文件,然后修改其内容替换即可),如下图:
这里写图片描述


修改后的效果及目录结构如下图: 
这里写图片描述


然后直接导入eclipse 
这里写图片描述 
这里写图片描述 
这里写图片描述


导入后会出现红色的感叹号,或者报错,效果如图: 
这里写图片描述


下面来一步一步的解决,右键查看项目的一些jar的依赖情况,如下图: 
这里写图片描述


红色的×说明缺少jar,在网上下载对应的jar,然后导入到对应的目录就行了 
这里写图片描述这里写图片描述 
这里写图片描述这里写图片描述


添加好上图所需的一些jar包后,重新编译刷新后,发现会报一些错误: 
这里写图片描述


一步步跟进,发现一些类找不到,原来还缺少一些jar包: 
这里写图片描述 
这里写图片描述


通过上网搜索发现,需要org.eclipse.jetty.spdy.server.http包,在build/lib/merge目录下发下含有spdy字段的jar包,于是果断添加到build path 中去 
这里写图片描述 
添加后,再编译刷新,发现刚才出错的地方终于消失了,但还是有错误,发现缺少jetty-servlets 包,如下图。 
这里写图片描述 
这里写图片描述


再首先到build/lib/merge目录下查找,也发现了有该jar包,于是又引入该jar包,然后重新编译刷新,发现plugins的一些目录下还有错误了: 
这里写图片描述


经过搜索,发现缺少jsr311-api,于是从网上下载该jar包拷贝到build/lib/merge目录下,再添加到build path里去,编译后发现还是有错误: 
这里写图片描述 
这里写图片描述 
查找对应的解决方案后发现,是缺少jersey-bundle包导致的,所以下载该包后再编译,发现该项目终于不报错了,迈进一重大的一步。 
这里写图片描述

三、Ant编译项目

工程不会报错后就可以开始利用ant来编译项目了,步骤如下:

  1. 打开eclipse的ant视图,并选择项目的build.xml文件 
    这里写图片描述 
    定位到该视图 
    定位该视图 
    添加该工程下build.xml文件 
    这里写图片描述
  2. 运行Openfire XMPP Server的build文件 
    展开Openfire XMPP Server,选择openfire[default],右键,run as ->ant build 
    展开 
    这里写图片描述 
    运行 
    这里写图片描述
  3. 编译完成后的配置 
    等待一小会后,不出意外的话,控制台会出现编译成功的信息: 
    这里写图片描述
    并且刷新openfire工程后,会多出target和work两个目录: 
    这里写图片描述
  4. 配置运行的主类 
    选中项目,添加eclipse工具栏: 
    这里写图片描述 
    添加运行项 
    这里写图片描述 
    选择main class 
    这里写图片描述
  5. 配置运行的参数 
    选中Arguments选项卡,在VM arguments中填入 
    -DopenfireHome=”${workspace_loc:openfire}/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 确定 
    效果图如下: 
    这里写图片描述
  6. 运行成功 
    配置好上面的参数后运行,eclipse控制台会出现运行的一些信息: 
    这里写图片描述
    然后大功告成了!!! 
    用浏览量访问:http://localhost:9090就可以了进行一些配置了。 
    这里写图片描述

四、注

项目中缺少的一些jar包可以在网上搜索下载,推荐用maven来下载,提供一个jar包下载的网址:http://mvnrepository.com 
部分依赖的jar包可从这里下载:http://download.csdn.net/detail/haunghui6579/8521567 
若有问题,可邮箱联系:huanghui6579@163.com

转载于:https://www.cnblogs.com/liuqing0328/p/4958050.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

首次公开!人教版1-9年级绝密编写:被重点中小学永久收录的数学教案和试题...

全世界只有3.14 % 的人关注了爆炸吧知识在中国的教育历史上,不少人都会有感慨:“我是读着人教版教材长大的”。(人教版即由人民教育出版社出版。)的确,由毛泽东主席亲笔题写社名的人民教育出版社,自1950年1…

如何通过 C# 自动捕获一个文件的变更?

咨询区 PaulB:请问在 C# 中如何实现当一个磁盘文件的变更,让我的程序马上能感知到?回答区 Dirk Vollmar:在 C# 中有一个 FileSystemWatcher 类,它专门用来做文件的变更感知,大概有如下四类通知事件&#xf…

安装分布式文件系统MooseFS

示意图#4种角色共有的安装步骤yum install gcc zlib zlib-devel fuse fuse-devel fuse-libs libpcap libpcap-devel net-tools useradd mfs -s /sbin/nologin cd /download/ tar xf moosefs-2.0.80.tar.gz cd moosefs-2.0.80 ./configure \ --prefix/usr/local/mfs \ --with-de…

太爽了!宅男醒来后,发现自己变成了……

全世界只有3.14 % 的人关注了爆炸吧知识小编这两天看了一本关于数学家的故事后开了一个脑洞:如果把那些数学大神的故事写成爽文会是什么样?以下内容,纯属娱乐和虚构。前方高能预警第一章 称王冠原来是这样的“阿基米德,国王叫你呢…

陈睿学长在CUIT建校70周年校庆上的演讲

【个人成长】| 总结/Edison Zhou1睿叔演讲背景10月23号,我的母校成都信息工程大学(以下简称CUIT)举行了建校70周年(1951~2021)校庆,B站(哔哩哔哩)董事长兼CEO陈睿(睿叔&a…

poj2442Sequence(优先队列)

http://poj.org/problem?id2442 题解http://www.cnblogs.com/372465774y/archive/2012/07/09/2583866.html 本来写的二维数组 &#xff0c;直接対一维排序 不知道为嘛一直WA 只好该为一维的 就AC了 View Code 1 #include <iostream>2 #include<cstdio>3 #includ…

System.Text.Json 中的字符编码

System.Text.Json 中的字符编码Intro默认的 System.Text.Json 序列化的时候会把所有的非 ASCII 的字符进行转义&#xff0c;这就会导致很多时候我们的一些非 ASCII 的字符就会变成 \uxxxx 这样的形式&#xff0c;很多场景下并不太友好&#xff0c;我们可以配置字符编码来解决被…

maven3安装和使用笔记

2019独角兽企业重金招聘Python工程师标准>>> 1、下载 http://maven.apache.org/download.cgi 2、解压 3、配置环境变量 M2_HOME D:\program\apache-maven-3.3.3 Path : %M2_HOME%\bin 4、验证是否成功 打开命令行窗口&#xff0c;输入mvn -version&#xff0c;显示…

数学,原来可以这么美!

全世界只有3.14 % 的人关注了爆炸吧知识法国著名艺术家罗丹曾说&#xff1a;世界中从不缺少美&#xff0c;而是缺少发现美的眼睛。对于我们的眼睛&#xff0c;不是缺少美&#xff0c;而是缺少发现。在艺术者眼中&#xff0c;一切都是美的&#xff0c;因为他锐利的慧眼&#xff…

Hadoop的伪分布安装 hadoop的核心思想

Hadoop的伪分布安装hadoop的安装分为本地模式、伪分布模式、集群模式。本地模式是运行在本地&#xff0c;只负责存储&#xff0c;没有计算功能&#xff0c;本书不讲述。伪分布模式是在一台机器上模拟分布式部署&#xff0c;方便学习和调试。集群模式是在多个机器上配置hadoop&a…

lambda与内置函数

2019独角兽企业重金招聘Python工程师标准>>> 学习条件运算时&#xff0c;对于简单的 if else 语句&#xff0c;可以使用三元运算来表示&#xff0c;即 # 普通条件语句 if 1 1:name eddy else:name yys# 三元运算 name eddy if 1 1 else yys lambda表达式 # ###…

年仅21岁,干掉6位诺贝尔奖得主,被誉为科学界最强杀手,却惨被人骂成一个笑话...

全世界只有3.14 % 的人关注了爆炸吧知识在刚过去的国庆假期期间&#xff0c;超模君总是在不经意间看到许多诡异的小视频&#xff01;而一提起充满诡异气息的视频&#xff0c;《走近科学》这档节目堪称经典&#xff01;然而在去年&#xff0c;经典科普电视节目《走近科学》迎来最…

python 字典操作

假设字典为dics {0:a, 1:b, c:3} 1.从字典中取值&#xff0c;当键不存在时不想处理异常 [方法] dics.get(key, not found) [例如] [解释] 当键key不存在是&#xff0c;打印not found(即想要处理的信息)&#xff0c;当存在是输出键值。 【其他解决方案一】 if key in dics: …

Web实时通信,SignalR真香,不用愁了

前言对于B/S模式的项目&#xff0c;基础的场景都是客户端发起请求&#xff0c;服务端返回响应结果就结束了一次连接&#xff1b;但在很多实际应用场景中&#xff0c;这种简单的请求和响应模式就显得很吃力&#xff0c;比如消息通知、监控看板信息自动刷新等实时通信场景&#x…

四位数码管树莓派c语言,用树莓派和四位数码管模块做一个时钟

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;预备知识如图&#xff0c;这是一个4位数码管模块&#xff0c;由两片 74HC595 级联控制&#xff0c;引脚如图&#xff0c;从上到下&#xff0c;分别为VCC(3.3V/5V),…

这5部不容错过的超高评价纪录片,带你领略地球的魅力!

全世界只有3.14 % 的人关注了爆炸吧知识地球是茫茫宇宙星系中唯一生机勃勃万物生存的星球&#xff0c;它是瞬息万变、充满自然奇观的世界。50多亿年来&#xff0c;地球在日复一日、沧海桑田地变化着。今天就给大家带来最顶尖的BBC地球科普纪录片&#xff0c;最盛大的听觉盛宴&a…

【转】Android 带checkbox的listView 实现多选,全选,反选 -- 不错

原文网址&#xff1a;http://blog.csdn.net/onlyonecoder/article/details/8687811 Demo地址&#xff08;0分资源&#xff09;&#xff1a;http://download.csdn.net/detail/onlyonecoder/5154352 由于listview的一些特性&#xff0c;刚开始写这种需求的功能的时候都会碰到一些…

第三方QQ、微博登陆

一定要把token uid 这些参数搞明白是干什么的 第一种方法是转的 &#xff08;通过javascript来调用&#xff09; 最近接触了一些第三方登陆的东西&#xff0c;弄的真是一个头&#xff0c;两个大>.< 今天&#xff0c;终于把腾讯第三方登陆调试通了&#xff0c;做一…

由NTC电阻值 计算温度 C语言,高精度NTC测温电路设计及电阻值计算

什么是NTCNTC是热敏电阻&#xff0c;其电阻值对温度变化敏感&#xff0c;在不同的温度下&#xff0c;可以呈现不同的电阻值。热敏电阻有两类&#xff0c;一类是负温度系数电阻(NTC)&#xff0c;温度增加时&#xff0c;电阻值降低&#xff0c;另一类是正温度系数电阻(PTC)&#…

史上最被低估的两个学科!它们远比你想的更重要!

▲点击查看哈佛大学本杰明教授曾说&#xff1a;“越是到了高等教育的阶段&#xff0c;人们就越重视从历史中总结经验&#xff0c;尤其是精英阶层。很多人都想好好读读历史&#xff0c;但是一直以来&#xff0c;读历史都有一个问题&#xff1a;看着满满都是字的大部头&#xff0…