zoukankan      html  css  js  c++  java
  • 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接口,在initializePlugindestroyPlugin方法中,分别负责初始化插件和销毁插件

    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 argetopenfireplugins下,找到生成的插件jar包,这就是生成的插件包,可以放在openfire服务器的plugins目录下,启动后就可以运行了


    补充:本机默认编码为GBK,编译插件的时候出现以下错误:编码UTF8的不可映射字符


    解决方案:


    在build.xml头添加encoding="GBK",将javac encoding="utf8"改为encoding="GBK"



  • 相关阅读:
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    星空雅梦
    code=exited,status=1/failure;failed to start LSB:Bring up/down networking
    Eclipse安装AmaterasUML插件问题
    Navicat如何导出Excel格式表结构
    powerdesigner生成mysql带注释的ER图
  • 原文地址:https://www.cnblogs.com/gmhappy/p/9472413.html
Copyright © 2011-2022 走看看