Traditionally, Java applications are stored in a set of Java class files. To run an application, these files are loaded by a virtual machine prior to their execution. This way of execution emphasizes the dynamic nature of Java applications and it allows easy replacement or addition of classes to an existing system.
However, in the context of embedded systems, this approach has several disadvantages. An embedded system might not provide the necessary file system device and file system services. Instead, it is preferable to have all files relevant for an application in a single executable file, or maybe even store this file in read only memory (ROM) within an embedded system.
The Builder Tool provides a way to create a single application out of a set of class files and the Jamaica Virtual Machine.
Here is an illustration of the process of building a Java application and the Jamaica Virtual Machine into a single file:
Function of the Builder tool
The builder takes a set of class files as input and is controlled by a set of options. The result is a portable C source file. This file is compiled to create an object file for the target architecture. This is then linked with all the files of the Jamaica Virtual Machine to create a single file that contains all the data neccessary to execute the Java code.