Patent ID: 7644403

Claim:
A method for resolving exceptions thrown by a class loader in a Java Virtual Machine (JVM) environment the class loader comprising an execution-stack accessor object for identifying all calling classes including a class that throws an exception, and for identifying a code-source that accesses said class, a loader that accesses said code-source, and metadata for describing interrelationships between said class loader and other class loaders in a class loader tree, the method comprising: replacing within a class loader architecture of the JVM environment each class loader in the class loader tree with a class loader that is populated with said metadata; accessing said metadata by an exception analyzer of the JVM environment to determine state and configuration information for classes in said class loader tree; identifying by the exception analyzer a name of a missing class that is unloadable in response to an exception message being thrown concurrently by the class loader for said unloadable missing class; determining with the exception analyzer a sequence of class loaders involved in trying to return said missing class; determining by a query engine of the JVM environment if said missing class is loadable from any remaining class loader in a class loader tree supporting said JVM environment, wherein said remaining class loader is not in said set of class loaders; and augmenting said exception message by a solution generator of the JVM environment with information obtained from metadata used to determine whether said missing class is loadable from said class loader tree, wherein determining whether said missing class is loadable from said class loader is based on accessing metadata from any of the plurality of said remaining class loaders not originally in said set of class loaders.