powered by Jive Software

How to make simple plugin run in spark client?

hello people,

i am a newbie in developing plugins for spark client and trying to get a simple plugin running in my spark client ver 2.5.3. with the help of sparkplug kit ver 2.0.7.

i am trying to stick exactly to the Sparkplug Development Guide in order to get the examples.jar running as a plugin in my spark client. unfortunately it seems that i need something like an idiot’‘s guide, becaue i can’'t get it running.

i am able to create a myplugin.jar out of the examples.jar file with the help of the how-to-build.txt in the sparkplug_kit_2_0_7\sparkplugs\builder folder. my “plugin.xml” looks like this:

ant jar says that that the myplugin.jar file is build successfully. so then, i copy my myplugin.jar file into my spark client’‘s plugin folder (\Spark\plugins) and start my spark client. after connecting to my server I can’‘t see any changes and the spark client’'s log file says the following:

20.06.2007 22:23:06 org.jivesoftware.spark.util.log.Log error

SCHWERWIEGEND: Unable to load plugin com.jivesoftware.Spark.MyPlugin.

java.lang.ClassNotFoundException: com.jivesoftware.Spark.MyPlugin

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:260)

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

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

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

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)

that’'s it. maybe this might be for some of you ridiculous, but please remember that I am a real newbie regarding to plugin developing.

My intention at the moment is just to see how the plugin developing work, so that later on I can write my own plugins. That’'s why I need to keep it simple at the beginnng.

Thanks very much for any answers.

open your plugin jar with a program like winzip and see if the MyPlugin class is there and that it’'s path relative to the root of the jar file is com\jivesoftware\spark\MyPlugin.class.

Also verify that the MyPlugin class has com.jivesoftware.spark as it’'s package

Hmm looks like an upper/lower case problem in the package name (spark vs. Spark):

java.lang.ClassNotFoundException: com.jivesoftware.Spark.MyPlugin

don’'t you mean com.jivesoftware.spark.MyPlugin?