On Jan 10, 2005, at 5:11 AM, anita kulshreshtha wrote:
Let me rephrase this question. Is getDeclaredMethod supposed to behave like this? Why is it trying to find GBeanAdaptor class. Shouldn't it give NoSuchMethodException? In that case the build will fail gracefully indicating that it is time to build openejb! I hope my question is not out of scope of Geronimo.
Yes this is expected. Normally when a class, is loaded in Java it is not fully resolved. This means that the byte code was loaded and verified, but not all classes the loaded class depends on were loaded. This is an optimization by the VM engineers to even out load time of an application. When you call getDeclatedMethod, the class is fully resolved, which mean that all dependency classes are loaded and this can cause a NoClassDefFoundError.
In this case this is caused by an inconsistent build which is a very abnormal case, so IMO not beneficial to add such a check to the code as it complicates the code. If this could happen in an official release (even if it were rare), I would support adding a check.
-dain
