You may want to add additional features to the web server with your own
document discusses how to do this.
The build process relies on the Ant
build tool from The Jakarta Project.
A build.xml file is included, and the only file you need to modify
for your own configuration is the build.properties file.
Including Your Own Source
The build process allows you to include your own source. You will need
to modify these build properties:
src.files, and possibly
Place the location of the source files in
src.paths, and a
list of files in
src.files. If your code depends on further
libraries, you may need to modify
well. See the build configuration section
for more details.
Including Your Own Classes
There are no extra steps required to include your own libraries. They
need to be copied to the SNAP and then added to the classpath when
executing the server, but that's it.
Build Configuration — The
The build.properties file is the only place you are required to
manage your build configuration. The syntax requrements are only that a
forward slash (/) for the file separator, and a colon (:) for the path
separator, are used. Also, any non-required properties may be left
Note: If you choose to use backslashes
(\) for your paths, say, in Windows, then you must use pairs (eg.
This is because in properties files, backslashes are treated
specially. They act to change the meaning of the following character.
Please consult the Java documentation for more information.
This points to the location of the SNAP distribution. For example:
This property is required.
This points to the location of the
included in your SNAP distribution. For example:
This program is used to preprocess and check your classes before
archiving them into a JAR. It is not necessary to preverify your classes,
so it is okay to leave this property undefined.
This points to the location(s) of your source files. For example:
A path separator is used between different paths.
A comma- or space-separated list of source files. This may be specified
using Ant-style wildcard
patterns. For example:
It is not a good idea to specify
**/*.java since that may
include unwanted source files. Instead, be more specific with the package
structure, as in the above example.
This specifies a CLASSPATH-like list of paths and archives containing
classes needed for the build. Any SNAP-related library, such as the
1-Wire library, is automatically included in the SNAP classes, and does
not need to be specified here. For example:
This names the JAR file that will be created from any compiled source
code that was specified with
src.files. If not
specified, then the default will be "myclasses.jar".
This should not contain extra path information. For example:
These are incorrect: target.jar=path/mylib.jar
This file will be included by the deploy script.
One additional step you must do is prepend this file to the
'-classpath' setting inside the WebServer script in the
snap/bin/ directory. This will enable the virtual machine to
find your classes.
Other Build-Related Files
This section discusses the other files needed in the build process.
The build.xml file
The build.xml file is the Ant build script. Its default task
will automatically compile any source files you have specified, and
then archive them into a JAR in the snap/bin/ directory.
By default, all compiled classes will be written to a directory named
classes/. This can be changed by changing the
javac.destination property to something else.