Using CLASSPATH Effectively
Problem
You need to keep your class files in a common directory or you’re wrestling with CLASSPATH.
Solution
Set CLASSPATH to the list of directories and/or JAR files that contain the classes you want.
Discussion
CLASSPATH is one of the more interesting aspects of using Java. You can store your class files in any of a number of directories, JAR files, or zip files. Just like the PATH your system uses for finding programs, the CLASSPATH is used by the Java runtime to find classes. Even when you type something as simple as java HelloWorld, the Java interpreter looks in each of the places named in your CLASSPATH until it finds a match. Let’s work through an example.
The CLASSPATH can be set as an environment variable on systems that support this (at least Unix and MS-Windows). You set it in the same syntax as your PATH environment variable. PATH is a list of directories to look in for programs; CLASSPATH is a list of directories or JAR files to look in for classes.
Alternatively, you can set your CLASSPATH right on the command line:
java -classpath \c:\ian\classes MyProg
Suppose your CLASSPATH were set to C:\classes;.
on MS-Windows, or ~/classes:. on Unix (on the
Mac, you can set the CLASSPATH with JBindery). Suppose you had just
compiled a file named HelloWorld.java into
HelloWorld.class, and went to run it. On Unix,
if you run one of the kernel tracing tools (trace,
strace, truss,
ktrace) you would probably see the Java
program open (or stat, or
access ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access