目录

openfire-3.8.2-源码部署-开发配置-二次开发

openfire 3.8.2 源码部署 /开发配置 / 二次开发

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

如下是成功案例:

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

a. 源码下载:【官网】

https://img-blog.csdn.net/20131127165541515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

选择 openfire下载;

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

2 开始部署:

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

https://img-blog.csdn.net/20131127165817000?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center 2

选择 openfire源码的上级目录(即下图的workspace目录)点击确定(我的是已经拷贝到workspace目录下的)

https://img-blog.csdn.net/20131127170013078

然后 新建一个java项目 项目名与源码文件名必须一样 eclipse会自动加载源码项目

https://img-blog.csdn.net/20131127170317421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

https://img-blog.csdn.net/20131127170412906?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

然后会得到如图所示的界面

https://img-blog.csdn.net/20131127170643546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

这个地方缺少两个jar包 coherence.jar , tangosol.jar 网上也有说少三个的 另外一个是 coherence-work.jar

这三个jar包的下载地址是 免积分的 免积分才爽快 :

将 coherence.jar , tangosol.jar 拷贝 到build目录下的lib目录下 或者随便建个其他目录放进去

选中两个jar包 右击添加到buildpath

https://img-blog.csdn.net/20131127171751484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

稍等 片刻 eclipse要重建工作空间 完成后发现还有错误 怎么办?

来 这么干。

https://img-blog.csdn.net/20131127172050937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast https://img-blog.csdn.net/20131127172107234?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

先看第二个图:

打开两个错误类 后会发现

https://img-blog.csdn.net/20131127172347312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

https://img-blog.csdn.net/20131127172354875?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

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

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

https://img-blog.csdn.net/20131127172800781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

这样 就 解决了这个问题

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

https://img-blog.csdn.net/20131127173020500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

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

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

第三步:选择菜单栏 window->Show View ->Ant

https://img-blog.csdn.net/20131127173805828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

https://img-blog.csdn.net/20131127174029031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

点开右击 Openfire XMPP Server 选择 openfire[default] 右击

https://img-blog.csdn.net/20131127174401062?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

刷新 eclipse项目多出两个文件夹 work 和target

https://img-blog.csdn.net/20131127174721406?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

https://img-blog.csdn.net/20131127175313687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

选中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 确定

https://img-blog.csdn.net/20131127180605531?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

https://img-blog.csdn.net/20131127180646250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RpbGxDaXR5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

点击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吧。