Java Builds

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.

Building Java Class Files: the 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.