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