前言
在开发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 builder
8、在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"