You don't call load() or save() from the constructor. For one thing, doing
that kind of thing from a constructor is a bad plan anyways, but also, as
you found, the plugin wrapper has not been instantiated until after the
Plugin instance is fully constructed.

The correct place to call those methods is in your overridden start() method


On 23 April 2013 14:50, Alexis Gallagher <[email protected]> wrote:

> Hi,
>
> I am building a plugin which extends from hudson.Plugin, an abstract class
> which provides an implementation of save() and load().
>
> However, on startup, the plugin generates NullPointerException's whenever
> load() is called. On investigation, it turns out this is because my
> plugin's PluginWrapper is never initialized.
>
> Is this some sort of a bug in hudson.Plugin? (The only reason I think this
> is possible, is that I can't find another plugin that extends from
> hudson.Plugin and uses load()/save().) I cannot find anything in the
> javadoc which indicates that I should be manually wrapping my plugin in a
> PluginWrapper, or telling me when I should do that, and other plugins do
> not seem to handle this on their own.
>
> Or is this it the case that extending hudson.Plugin is the wrong way to
> build a plugin? In its javadoc (
> http://javadoc.jenkins-ci.org/hudson/Plugin.html ), the class says "A
> plugin needs to derive from this class", which is where I got the idea to
> do this. But perhaps this is out of date?
>
> Alexis
>
>
>  p.s. the plugin is here: https://github.com/algal/cors
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to