title: Openfire Plugin - NoSuchMethodError javax.servlet.jsp.JspFactory.getJspApplicationContext
body: <p>After compiling and deploying openfire-apns.jar to Openfire, when I select "APNS Settings" to open the APNS Plugin Settings page, I get a blank page and see the following error in logs. I searched but could not find a solution suggested by anyone for this, nor a probable cause.</p>
  
  <p>I am using Openfire 3.9.3, servlet.jar version is 2.5. Appreciate your help in fixing this.</p>
  
  <p>2018.03.18 23:18:43 org.jivesoftware.openfire.container.PluginServlet - javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
  java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
      at com.wecapslabs.openfire.plugin.jsp.apns_jsp._jspInit(apns_jsp.java:40)
      at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:79)
      at org.jivesoftware.openfire.container.PluginServlet.registerServlets(PluginServlet.java:179)
      at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:464)
      at org.jivesoftware.openfire.container.PluginManager.access$300(PluginManager.java:80)
      at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManager.java:1074)
      at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)</p>