Java - ClassNotFoundException vs NoClassDefFoundException
- public class ClassNotFoundException
- extends Exception
Thrown when an application tries to load in a class through its string name using:
forNamemethod in class
findSystemClassmethod in class
loadClassmethod in class
but no definition for the class with the specified name could be found.
- public class NoClassDefFoundError
- extends LinkageError
Thrown if the Java Virtual Machine or a
ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the
new expression) and no definition of the class could be found.
The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found.