Mac下使用XMPP即时通讯【4】:openfire源码部署、二次开发

转载自:http://blog.csdn.net/StillCity/article/details/16988317

注意二次开发,可能导致之前用openfire.dmg安装的服务器冲突。某些端口被占用的情况出现。

最近新搞了openfire 从网上找了很多源码部署的相关文章但都是大同小异,拷贝加修改,我如是按照各个文章版本部署目前最新的3.8.2版本,无一例外,各种报错,头疼死我也,一次次失败,我TMD就想为啥官方没文档,一气之下 有了本作。

如下是成功案例:

1、准备:安装jdk就不用说了把。网上多的是这里就不赘述了。

a.源码下载:【官网】http://www.igniterealtime.org/downloads/source.jsp 

选择openfire下载;

b . eclipse开发工具我的是3.5.2 版本,

2 开始部署:

首先打开eclipse将openfire源码解压到eclipse的workspace 目录下 或者选择新的workspace 

2

选择 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要重建工作空间 完成后发现还有错误 怎么办?

来 这么干。

        

先看第二个图:

打开两个错误类 后会发现   

 

                       

                       

这两个错误相同都是没有实现所有的抽象方法

鼠标点击一下 Add unimplemented methods 即可  另外SipManager类中还需要捕获一个异常 

这样就 解决了这个问题 

然后还有另一个 报了很多错的问题:

              

可以看到这两个目录结构相同的资源包 大家把上面红框的删掉就可以了,下面就不报红了。

到这里大部分工作就完了  这块累了我老半天了。

 

第三步:选择菜单栏 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://blog.csdn.net/lovexieyuan520/article/details/37743433

这篇文章向大家介绍一下,如何把openfire3.9.3源码导入eclipse中,编译并启动的详细过程。

      首先得感谢这篇文章的作者,http://www.micmiu.com/opensource/openfire/openfire-src-config/,正是在这篇文章的帮助之下,我成功将openfire导入eclipse,本文大部分内容也是那篇文章的,我冠以原创之名,是为了留个笔记和在新版中出现的问题给大家一点帮助,毕竟我也花了不少的时间,希望不会被说成侵权。

       入正题,看到这篇文章的的网友应该已经安装了jdk,eclipse,我就不在安装这些开发工具上赘述了,附载一下openfire的下载地址:http://www.igniterealtime.org/downloads/index.jsp

1、下载源码openfire_src_3_9_3.zip,目前最新的版本是3.9.3

2、把下载好的openfire_src_3_9_3.zip解压到工作空间,结构和目录如下:


3、把openfire_src\build\eclipse目录下面的settings、classpath、project全部复制到openfire_src\ 目录下,然后把openfire_src\classpth、openfire_src\project、openfire_src\settings修改成Eclipse工程配置文件格式,重命名为在每个原有的名字上加上一个点,即.classpth、.project、.settings。注意:在windows下面不能直接重命名,需要在dos下面操作,即进入相应的目录执行,rename classpth .classpth即可,其它两个文件执行一样的操作:


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



导入后目录结构如下:


大家会发现自己这个项目上出现了一个感叹号,进入构建路径,会发现:


这说明这个jar包缺失了,选中这个文件,然后点击右边的Remove按钮,将其移除,当然,我们也可以去网上下载一个,点击右边的Add JARs...将其加上,不过我没加也没出现问题,可能是某些插件需要这个jar包,现在不管他了。


移除后出现三个错误,没关系,我们一步步修复错误,\openfire_src\src\java报错,是因为有jar包,没有引进来,我们将其引进即可:


注意:一次只能引用一个,所以需要操作四次,才行。点击OK以后,我们发现\openfire_src\src\java上的错误已经没有了。\openfire_src\src\plugins\clustering\src\java报错,是因为缺少coherence.jar,coherence-work.jar,tangosol.jar这三个jar包,我们将复制到\openfire_src\src\plugins\clustering\lib目录下,然后将这三个jar包,加入构建路径:


这时我们发现\openfire_src\src\plugins\clustering\src\java上的错误已经消失了,这里我提供一下这三个jar包的下载地址,http://download.csdn.net/detail/lovexieyuan520/7630845,当然,你也可以去其它地方下载。

最后一个在\openfire_src\src\plugins\sip\src\java上的报错是因为 SipCommRouter.java和SipManager.java 这两个类没有实现抽象方法和完成异常处理,最简单的解决办法是利用Eclipse自动修复功能进行修复即可。现在我们发现我们的项目已经没有任何错误了。

5、ANT编译项目

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

6、运行Openfire项目

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

②配置启动参数

选择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:


③运行后控制台日志如下:


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


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

终于完成了,希望对大家有帮助,下一篇,我将介绍怎样在Openfire中开发插件

参考:Openfire 官网开发文档





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值