When I want to extend a plugin, I unfortunately have to unpack the libraries and include them into my own web application. I use Maven's Dependency plugin for this. :-) It is the only way I know of getting a hold of the binaries without forcing them into plugin status.
I see two ways out of this: 1) Refactor each plugin to be the code and a plugin jar wrapper. 2) S2 needs a way of saying which plugin NOT to load. Obviously the plugin jar is going to be in WEB-INF/lib. That's good enough to extend, if I have a way to stop it from registering. I wholly prefer #2. Other options welcomed. Paul