powered by Jive Software

NoClassDefFoundError in dbaccess 1.2.1 plugin

I just upgraded DBAccess plugin to 1.2.1 in Openfire 4.2.3 (Java 1.8.0_191 on Ubuntu 16.04.) When I launched its JSP, I got NoClassDefFoundError. Does anyone have a similar problem? Rolling back to 1.2.0, the older version still worked fine.

2019.01.23 19:58:05 org.jivesoftware.openfire.container.PluginServlet - An unexpected problem occurred while attempting to register servlets for plugin ‘org.jivesoftware.openfire.plugin.DbAccessPlugin@5b329a3a’.
java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceImports
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.jivesoftware.openfire.container.PluginManager.loadClass(PluginManager.java:958)
at org.jivesoftware.openfire.container.PluginServlet.registerServlets(PluginServlet.java:151)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:568)
at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:276)
at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask$4.call(PluginMonitor.java:264)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspSourceImports
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Yes, it doesn’t work for me either on 4.2.3. I have filed https://github.com/igniterealtime/openfire-dbaccess-plugin/issues/2 But it might be that new version is just not compatible with older server anymore. Then it should just not allow installing it.

The issue is fixed in 1.2.2 version of the plugin.