Oh, and one more question:
-- what happens if you only re-deploy a class which is a super class of a file from another archive?
There's nothing like insomnia to spur you on to writing simple test cases. For the benefit of anyone who might be doing a similar search on these forums in the future:
each jar loads it's own version of a class, even if it comes out of another jar. so if you have class A in jar a.jar, which references class B in b.jar, and then you change B in b.jar and redeploy it, A's notion of what B is (including method signature, static variables, where it falls in inheritence trees, etc.) remains unchanged, until you redeploy a.jar, which you could do by simply "touch"ing it. At that point, it reloads all the classes from scratch.