一、说在前面
在继上篇 Openfire3.8.2在eclipse中Debug方式启动最简单的方式后,我研究了openfire的插件开发,在研究过程中,参考了多位朋友的博客的内容,特别是csdn上这位 同学的博客,里面有关于如何开发最简单的插件和聊天插件的内容,我按照博主的内容进行了插件开发,并改进了博主的插件打包脚本,自认为比较完美了,拿出来和大家分享一下。
二、示例插件的功能
这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息。
三、插件开发的目录结构设计
我们先看一下openfire源码的插件开发目录结构:
openfire自带的插件结构如下:
我们仿照openfire源码自己创建的插件项目目录结构如下(基本上保持和官方的一致)
四、插件程序
我们写了一个很简单的插件程序,如下所示:
五、插件打包及部署
看看我们插件的部署所要注意的事项:
打包脚本的位置及打包生成插件的位置:
进行打包:
打包成功的helloworld.jar部署到openfire服务器,部署很简单,只需要进行拷贝到特定的目录,如下所示:
这个插件测试很简单,只要启动openfire,就可以看到插件的运行结果如下:
结束语:
后续开发我们就按照这个标准的目录进行开发,不用再写任何打包脚本,打包脚本可以复用,只需要修改一个插件的名字,并将要打包的插件代码提升到源码目录就可以了(其他插件的源码路径必须移除),十分方便!我将代码传到博客,让我们一起开始openfire插件开发之旅吧!!
在继上篇 Openfire3.8.2在eclipse中Debug方式启动最简单的方式后,我研究了openfire的插件开发,在研究过程中,参考了多位朋友的博客的内容,特别是csdn上这位 同学的博客,里面有关于如何开发最简单的插件和聊天插件的内容,我按照博主的内容进行了插件开发,并改进了博主的插件打包脚本,自认为比较完美了,拿出来和大家分享一下。
二、示例插件的功能
这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息。
三、插件开发的目录结构设计
我们先看一下openfire源码的插件开发目录结构:
![](https://i-blog.csdnimg.cn/blog_migrate/7f56da78f0bb69fa27bc26a561e4257d.png)
openfire自带的插件结构如下:
![](https://i-blog.csdnimg.cn/blog_migrate/cb700f802e7654eb2ef2e12b76251b92.png)
我们仿照openfire源码自己创建的插件项目目录结构如下(基本上保持和官方的一致)
![](https://i-blog.csdnimg.cn/blog_migrate/80ab189cfe533544a84115e00503f26d.png)
四、插件程序
我们写了一个很简单的插件程序,如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/238b98e7dcfb97d36b9c49da0f6bdbc8.png)
五、插件打包及部署
看看我们插件的部署所要注意的事项:
![点击查看原始大小图片](https://i-blog.csdnimg.cn/blog_migrate/b7bc5f0bad261786e22dd6a0249c4e07.png)
打包脚本的位置及打包生成插件的位置:
![](https://i-blog.csdnimg.cn/blog_migrate/5fdaa8385924eb58d10f2e0955870dec.png)
进行打包:
![](https://i-blog.csdnimg.cn/blog_migrate/0857268122d51cc366c49586a3e0520b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2a587e520653ac6428dcf47b454c5663.png)
![点击查看原始大小图片](https://i-blog.csdnimg.cn/blog_migrate/358725371b0994dfd5f662fc81b38a64.png)
打包成功的helloworld.jar部署到openfire服务器,部署很简单,只需要进行拷贝到特定的目录,如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/3ef513d9415aa4d1ee1d6f4631d2ab5c.png)
这个插件测试很简单,只要启动openfire,就可以看到插件的运行结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/227c7ec5f954bc08c6d57f66fd8887de.png)
结束语:
后续开发我们就按照这个标准的目录进行开发,不用再写任何打包脚本,打包脚本可以复用,只需要修改一个插件的名字,并将要打包的插件代码提升到源码目录就可以了(其他插件的源码路径必须移除),十分方便!我将代码传到博客,让我们一起开始openfire插件开发之旅吧!!
其他链接
http://blog.csdn.net/hwxia/article/details/6043429
http://blog.csdn.net/majian_1987/article/details/9814185
http://hanfi.blog.163.com/blog/static/15152722013028112826533/
http://www.blogjava.net/jyleon/articles/254197.html
http://blog.csdn.net/majian_1987/article/details/9814185
http://blog.csdn.net/majian_1987/article/details/9813467
http://hbiao68.iteye.com/blog/2028893
http://blog.csdn.net/sunjecon/article/details/8203541
http://www.cnblogs.com/hannover/archive/2008/12/01/1345258.html
http://www.cnblogs.com/xmandxx/articles/4582542.html
http://www.cnblogs.com/jingchaoboke/p/6414467.html
http://blog.csdn.net/lovexieyuan520/article/details/37774909
http://blog.csdn.net/chenhande1990chenhan/article/details/62883576
http://blog.csdn.net/qqiabc521/article/details/6586874
http://blog.csdn.net/chenhande1990chenhan/article/details/65627084
http://redhacker.iteye.com/blog/1919329
http://blog.csdn.net/ldwtill/article/details/17610245
http://blog.csdn.net/chenhande1990chenhan/article/details/62883576
http://blog.csdn.net/huwenfeng_2011/article/details/43418493
http://redhacker.iteye.com/blog/1914619
http://hbiao68.iteye.com/blog/1986142
http://blog.csdn.net/love254443233/article/details/7758719
http://blog.csdn.net/love254443233/article/details/7759464
http://blog.csdn.net/w969272198/article/details/8722126
http://blog.csdn.net/lovexieyuan520/article/details/37774909
http://blog.csdn.net/qq_27619637/article/details/54094165