After trying, unsuccessfully, to wrestle DWR (an ajax/java utility) into a plugin, I decided to take a step back and see if there is a more fruitful way of managing plugin deployment.
I remember reading about JSR-88 in the J2EE 1.4 spec and wondered if it made sense this caset. Essentially, JSR-88 is an api that allows container artifacts (like wars, ears, jars and rars) to be deployed systematically. If our plugins are essentially war files, then maybe it’'d be worth investigating using the containers built in mechanism for deploying the application? This might make apps like DWR, with their funky use of classloaders, work.
http://docs.codehaus.org/display/CARGO/Home is an api that leverages this api in a high level. Might be worth investigating.
What do you think?