how to make simple plugin run in spark client?

Discussion created by honkidonki on Jun 20, 2007
Latest reply on Jun 28, 2007 by Stefan Reuter

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.