Compiling multiple source files and specifying classpath using javac

By: Baski Viewed: 153429 times    

Assuming you have a folder named greetings and you have copied all your java source files in that folder, you can compile all of these files with a single command rather than compiling each of them separtely.

This example compiles all the source files in the package greetings.

C:> dir
C:> dir greetings
C:> javac greetings\*.java
C:> dir greetings
Aloha.class         GutenTag.class      Hello.class         Hi.class


Specifying CLASSPATH while compiling using javac

Having changed one of the source files in the previous example, we recompile it:

C:> cd
C:> javac greetings\

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\

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 \

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

Most Viewed Articles (in Java )

Latest Articles (in Java)

Comment on this tutorial