Specifying a User Class Path
Having changed one of the source files in the previous example, we recompile it:
C:> cd
\examples
C:> javac greetings\Hi.java
Since greetings.Hi refers to other classes in the greetings package, the compiler needs to find these other classes. The example above works, because our default user class path happens to be the directory containing the package directory. But suppose we want to recompile this file and not worry about which directory we're in? Then we need to add \examples to the user class path. We can do this by setting CLASSPATH, but here we'll use the -classpath option.
C:>javac -classpath \examples \examples\greetings\Hi.java
If we change greetings.Hi again, to use a banner utility, that utility also needs to be accessible through the user class path.
C:>javac -classpath \examples;\lib\Banners.jar \
\examples\greetings\Hi.java
To execute a class in greetings, we need access both to greetings and to the classes it uses.
C:>java -classpath \examples;\lib\Banners.jar greetings.Hi