The classpath lists places where the Java runtime should look for classes and resources. The classpath is also used by the Java compiler to find previously compiled and external dependencies.
Java class loading
The JVM (Java Virtual Machine) will load classes as and when the classes are required (this is called lazy-loading). Locations of the classes to be used are specified in three places:-
- Those required by the Java Platform are loaded first, such as those in the Java Class Library and it's dependencies.
- Extension classes are loaded next (i.e. those in
- User-defined classes via the classpath are then loaded
Classes are loaded using classes that are subtypes of
java.lang.ClassLoader. This described in a more detail in this Topic: Classloaders.
The classpath is a parameter used by the JVM or compiler which specifies the locations of user-defined classes and packages.
This can be set in the command line as with most of these examples or through an environmental variable (
Adding all JARs in a directory to the classpath
This modified text is an extract of the original Stack Overflow Documentation created by following contributors
and released under CC BY-SA 3.0