Can someone help me to understand ClassNotFoundException and NoClassDefFoundError (with a good example for NoClassDefFoundError)?
Can someone help me to understand ClassNotFoundException and NoClassDefFoundError (with a good example for
Share
NoClassDefFoundError: “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. ” It means it can’t find your class (.class file) in the directories it was told to search in for them. So if you start java and run it on some class which includes another class, but you didn’t put the class in the directory specified by the
-classpathoption when java was started, it will throw this error.ClassNotFoundException: “Thrown when an application tries to load in a class through its string name using:
The forName method in class Class.
The findSystemClass method in class ClassLoader .
The loadClass method in class ClassLoader.
but no definition for the class with the specified name could be found. ” Since NoClassDefFoundError is thrown by the ClassLoader, It’s probably a case of java saying, “where is the .class file you’re referring to?”