powered by Jive Software

ClassNotFoundException when loading my simple plugin

I’m using the 2.5.8.beta1 client. I created a simple plugin. Attached is the plugin.xml, lib folder, and the SimplePlugin.java file this plugin is based off of. I’ve also attached the SimplePlugin.jar for this.

When I open Spark with this plug-in, I get the following error in the error log:

Dec 6, 2007 12:17:49 PM org.jivesoftware.spark.util.log.Log error

SEVERE: Unable to load plugin org.jivesoftware.sparkplugin.SimplePlugin.

java.lang.ClassNotFoundException: org.jivesoftware.sparkplugin.SimplePlugin

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at org.jivesoftware.spark.PluginManager.loadPublicPlugin(PluginManager.java:266)

at org.jivesoftware.spark.PluginManager.loadPublicPlugins(PluginManager.java:532)

at org.jivesoftware.spark.PluginManager.loadPlugins(PluginManager.java:170)

at org.jivesoftware.spark.Workspace$4.run(Workspace.java:257)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

If I change the name of the class in the .java file and the Constructor to the name of a class used by another plugin that came pre-installed on my system such as JinglePlugin, I can then recompile the same (renamed) java file, re-package the jar after editing the plugin.xml, and successfully open the plug-in in Spark.

Does anyone know of any restrictions that could be put in place on the server side which would keep me from creating a plug-in using a new class name? Besides dropping the jar file into the plugins folder on the client, is there somewhere else I need to register my class?