XMPP即时通讯协议使用(五)——搭建简单的Openfire插件
前言
在开发Openfire插件前需要构建完成服务器源码编辑环境,具体操作步骤请参照Openfire服务器源码编译的了解。
开发简单的Openfire插件
1、已构建完成的Openfire源码结构如下:
2、查看已有的插件结构,并生成自己的插件结构,转到Navigator视图下
已有插件目录结构
参照已有目录结构,创建自己的目录结构,在plugins目录邮件->New->Folder
3、在新建的simplePlugin目录右键->New->Folder
4、在切换至Package Explorer视图,在simplePlugin->src->java->右键->Build Path->Use as Sorurce Folder
结构如下:
5、创建插件类实现Plugin接口,在initializePlugin\destroyPlugin方法中,分别负责初始化插件和销毁插件
package org.jivesoftware.openfire.plugin;
import java.io.File;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
public class SimplePlugin implements Plugin {
private static PluginManager pluginManager;
@Override
public void initializePlugin(PluginManager manager, File pluginDirectory) {
pluginManager = manager;
System.out.println("加载插件成功!");
}
@Override
public void destroyPlugin() {
System.out.println("销毁插件成功!");
}
}
6、从别的插件包下复制一个plugin.xml到simpleplugin文件夹下
plugin.xml内容如下
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<!--类的全包名-->
<class>org.jivesoftware.openfire.plugin.SimplePlugin</class>
<!--插件名称-->
<name>SimplePlugin</name>
<!--描述信息-->
<description>this is a SimplePlugin</description>
<!--作者信息-->
<author>Gm</author>
<!--版本信息-->
<version>1.0.0</version>
<!--创建、修改信息-->
<date>20/6/2017</date>
<!--最低兼容版本的openfire-->
<minServerVersion>4.2.3</minServerVersion>
</plugin>
7、从Window->show view->Ant,打开Ant视图,在Ant视图中,右键添加ant builder8、在Ant视图中,展开Ant的节点,然后找到plugins,在pluins上右键Run As Ant Builder
至此,插件开发编译完成,到openfire_src\target\openfire\plugins下,找到生成的插件jar包,这就是生成的插件包,可以放在openfire服务器的plugins目录下,启动后就可以运行了
补充:本机默认编码为GBK,编译插件的时候出现以下错误:编码UTF8的不可映射字符
解决方案:
在build.xml头添加encoding="GBK",将javac encoding="utf8"改为encoding="GBK"