powered by Jive Software

Authprovider from Plugin classpath error

I’m facing a very strange problem, after setting up successfully my auth plugin and using it for weeks by following this (Custom auth provider in a plugin - #30 by Patrick13).

I am back to having the ClassNotFoundException

2021.09.16 21:35:04 WARN [Jetty-QTP-AdminConsole-32]: org.jivesoftware.util.SystemProperty - Class com.rsi.openfire.authplugin.RsiAuthProvider was not found
java.lang.ClassNotFoundException: com.rsi.openfire.authplugin.RsiAuthProvider

What’s jarring about it is that there was no change at all in my code, I’m still using the same openfire (4.6.4) and everything else is still the same, but suddenly it can’t find the class anymore.

Although very versatile, the Openfire plugin architecture is not suitable for some specific use cases (such as AuthProviders). The cause for this lies mainly within the specific class loading characteristics that are used for plugins. Although you can make things work, that involves a lot of ducttape, correct timing, and a near endless supply of four-leaved clovers. You’re better of compiling your code to a standard JAR file, and place that JAR file in the Openfire ‘libs’ folder.

That didn’t seem to work as well. It is the /usr/share/openfire/lib folder right?

Depends on the distro, but that’s likely, yes. It should hold a number of other libraries, one called xmppserver-x.y.z.jar