PATH
and CLASSPATH
environment
variables on Microsoft Windows, Solaris, and Linux.
Consult the installation instructions
included with your installation of the Java Development Kit (JDK)
software bundle for current information.
After installing the software, the JDK directory will have the structure shown below.
bin
directory contains both the compiler
and the launcher.
PATH
variable. Or, you can optionally set it as a
convenience.
Set the PATH
variable if you want to be able to
conveniently run the executables (javac.exe
,
java.exe
, javadoc.exe
, and so on)
from any directory without having to type the full path of the
command. If you do not set the PATH
variable,
you need to specify the full path to the executable every time
you run it, such as:
C:\Program Files\Java\jdk1.6.0\bin\javac MyClass.java
PATH
permanently so it will
persist after rebooting. To set it permanently, add the full path of
the jdk1.6.0
bin directory to the PATH
variable. Set the PATH
as follows.
To make a permanent change to the CLASSPATH variable, use the System icon in the Control Panel. The precise procedure varies depending on the version of Windows.
The PATH
can be a series of directories separated by
semicolons (;). Microsoft Windows looks for programs in the
PATH
directories in order, from left to right.
You should have only one bin
directory for the JDK
in the path at a time (those following the first are ignored),
so if one is already present, you can update that particular entry.
PATH
variable, or you can optionally set it as a convenience. However,
you should set the path variable if you want to be able to run
the executables (javac
, java
,
javadoc
, and so on) from any directory without
having to type the full path of the command. If you do not set
the PATH
variable, you need to specify the full
path to the executable every time you run it, such as:
% /usr/local/jdk1.6.0/bin/javac MyClass.java
% java -version
java
tool,
if it can find it. If the version is old or you get the
error java: Command not found, then the path is not properly set.
To set the path permanently, set the path in your startup file.
For C shell (csh
), edit the startup file (~/.cshrc
):
set path=(/usr/local/jdk1.6.0/bin )
bash
, edit the startup file (~/.bashrc
):
PATH=/usr/local/jdk1.6.0/bin: export PATH
ksh
, the startup file is named by the
environment variable, ENV
. To set the path:
PATH=/usr/local/jdk1.6.0/bin: export PATH
sh
, edit the profile file (~/.profile
):
PATH=/usr/local/jdk1.6.0/bin: export PATH
java
command:
For C shell (csh
):
% source ~/.cshrc % java -version
ksh
, bash
, or sh
:
% . /.profile % java -version
CLASSPATH
variable is one way to tell applications,
including the JDK tools, where to look for user classes.
(Classes that are part of the JRE, JDK platform, and extensions
should be defined through other means, such as the bootstrap class path
or the extensions directory.)
The preferred way to specify the class path is by using the
-cp
command line switch. This allows the
CLASSPATH
to be set individually for each application without
affecting other applications.
Setting the CLASSPATH
can be tricky and should be
performed with care.
The default value of the class path is ".", meaning that only the
current directory is searched. Specifying either the CLASSPATH
variable or the -cp
command line switch overrides this
value.
To check whether CLASSPATH
is set on Microsoft Windows
NT/2000/XP, execute the following:
C:> echo %CLASSPATH%
% echo $CLASSPATH
CLASSPATH
is not set you will get a
CLASSPATH: Undefined variable error (Solaris or Linux)
or simply %CLASSPATH% (Microsoft Windows NT/2000/XP).
To modify the CLASSPATH
, use the same procedure you used
for the PATH
variable.
Class path wildcards
allow you to include an entire directory of .jar
files in the class path without explicitly naming them individually.
For more information, including an explanation of class path wildcards,
and a detailed description on how to clean up the CLASSPATH
environment variable, see the
Setting the Class Path
technical note.