Plugins Openfire插件:尝试获取插件实例时出现空指针异常

Plugins Openfire插件:尝试获取插件实例时出现空指针异常,plugins,openfire,Plugins,Openfire,我正在为openfire开发一个插件 在jsp中,我使用getter和setter来传输数据。 我的问题与这里提到的问题类似: 一个星期以来我一直在想办法 我有以下代码: <%@ page import="org.jivesoftware.openfire.XMPPServer, de.meisterfuu.openfire.plugin.teamFantasian_UserServicePlugin, org.jivesoftware.

我正在为openfire开发一个插件

在jsp中,我使用getter和setter来传输数据。 我的问题与这里提到的问题类似:

一个星期以来我一直在想办法

我有以下代码:

<%@ page
   import="org.jivesoftware.openfire.XMPPServer,
           de.meisterfuu.openfire.plugin.teamFantasian_UserServicePlugin,
           org.jivesoftware.util.ParamUtils,
           org.jivesoftware.openfire.container.Plugin,
           org.jivesoftware.util.*,
           java.util.*,
           java.util.HashMap,
           java.util.Map"
   errorPage="error.jsp"%>


<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>

<%
    boolean save = request.getParameter("save") != null;    
    String pNameSpace = ParamUtils.getParameter(request, "pNameSpace");
    String pModule = ParamUtils.getParameter(request, "pModule");
    String pCreateUser = ParamUtils.getParameter(request, "pCreateUser");
    String pCreateUser_input = ParamUtils.getParameter(request, "pCreateUser_input");
    String pCreateUser_output = ParamUtils.getParameter(request, "pCreateUser_output");




  teamFantasian_UserServicePlugin plugin = (teamFantasian_UserServicePlugin) XMPPServer.getInstance().getPluginManager().getPlugin("teamFantasian_UserServicePlugin");


    Collection<Plugin> a = XMPPServer.getInstance().getPluginManager().getPlugins();

    out.write(Arrays.toString(a.toArray()));

    if(plugin == null) {

    out.println("Cant find plugin ..!!");
    return;
    }

不要在插件名称中使用下划线。 将您的插件重命名为TeamUserServicePlugin

并使用以下命令获取实例:

XMPPServer.getInstance().getPluginManager().getPlugin("teamfantasianuserserviceplugin");

插件名称应为小写。

嘿,你能给我看一下关于如何使用父插件的参考资料吗?我找不到任何示例代码。你说的“父插件”是什么意思?我想调用另一个插件的方法。例如,我有userservice.jar,我想在我自己的插件中使用这个插件的方法,而不是仅仅复制源代码,这样,如果找到了userservice.jar的新更新,那么我就不必再次重构代码。parentPlugin——父插件的名称(对于“foo.jar”插件称为“foo”)。当插件有父插件时,将使用父插件的类加载器,而不是创建新的类加载器。这使得插件能够更紧密地协同工作。如果没有父插件,子插件将无法运行。
XMPPServer.getInstance().getPluginManager().getPlugin("teamfantasianuserserviceplugin");