There are three ways to set the classpath.
It can be set using the CLASSPATH
environment variable :
set CLASSPATH=... # Windows and csh
export CLASSPATH=... # Unix ksh/bash
It can be set on the command line as follows
java -classpath ...
javac -classpath ...
Note that the -classpath
(or -cp
) option takes precedence over the CLASSPATH
environment variable.
The classpath for an executable JAR file is specified using the Class-Path
element in MANIFEST.MF
:
Class-Path: jar1-name jar2-name directory-name/jar3-name
Note that this only applies when the JAR file is executed like this:
java -jar some.jar ...
In this mode of execution, the -classpath
option and the CLASSPATH environment variable will be ignored, even if the JAR file has no Class-Path
element.
If no classpath is specified, then the default classpath is the selected JAR file when using java -jar
, or the current directory otherwise.
Related: