So far, we've been using examples of building C and C++ programs to demonstrate the features of SCons. SCons also supports building Java programs, but Java builds are handled slightly differently, which reflects the ways in which the Java compiler and tools build programs differently than other languages' tool chains.
Java
Builder
The basic activity when programming in Java,
of course, is to take one or more .java files
containing Java source code
and to call the Java compiler
to turn them into one or more
.class files.
In SCons, you do this
by giving the Java
Builder
a target directory in which
to put the .class files,
and a source directory that contains
the .java files:
Java('classes', 'src')
If the src directory contains three .java source files, then running SCons might look like this:
% scons -Q javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java
SCons will actually search the src directory tree for all of the .java files. The Java compiler will then create the necessary class files in the classes subdirectory, based on the class names found in the .java files.