Originally posted by Bimal Patel:
I don't know why but I feel that at both the times, one should always have the same versions of the lib jar.
No, not really. If this was true, we wouldn't use jars at all -- you'd package everything into one indivisible blob to avoid this kind of problem. But being able to upgrade a libary without recompiling an application is a nice, useful, and valid thing to do.