java.lang.noclassdeffounderror: org/springframework/test/context/testcontextannotationutils code example
Example: java.lang.noclassdeffounderror: org/springframework/test/context/testcontextannotationutils
/** This is caused when there is a class file that your code depends on
* and it is present at compile time but not found at runtime.
* Look for differences in your build time and runtime classpaths. */
/** While it's possible that this is due to a classpath mismatch between
compile-time and run-time, it's not necessarily true.*/
It is important to keep two or three different exceptions straight
in our head in this case:
1. "java.lang.ClassNotFoundException":
This exception indicates that the
class was not found on the classpath. This indicates that we were
trying to load the class definition, and the class did not exist on
the classpath.
2. "java.lang.NoClassDefFoundError":
This exception indicates that the JVM looked in its internal class
definition data structure for the definition of a class and did
not find it. This is different than saying that it could not
be loaded from the classpath. Usually this indicates that we
previously attempted to load a class from the classpath, but
it failed for some reason - now we're trying to use the class
again (and thus need to load it, since it failed last time),
but we're not even going to try to load it, because we failed
loading it earlier (and reasonably suspect that we would fail again).
The earlier failure could be a ClassNotFoundException or an
ExceptionInInitializerError (indicating a failure in the static
initialization block) or any number of other problems.
The point is, a NoClassDefFoundError is not necessarily a
classpath problem.