Skip to main content

JDTF Build Instructions

In order to contribute code to the project you must have a contributor role. See Mobile & Embedded Community Governance for information about the different community roles.

For a description of how the JDTF repository is organized, read JDTF Repository Structure.

The Java Device Framework Getting Started Guide  [PDF] provides important information for developers who want to modify the code.

The JDTF Source Code Description describes how the JDTF source code is organized.

Note: If you are viewing these instructions on the web site, they apply to the release in development on the repository trunk. At the end of every release cycle, these build instructions are archived with the rest of the web site in the www/ directory in the tagged branch of the web site that corresponds to that release. If you are building an earlier version of the software please refer to the instructions archived with the tag that corresponds with that release.

Table of Contents

Configure and Run the Build


The two tables in this section list the technologies and libraries that are used in the JDTF build. These technologies and libraries are referred to in the build instructions that follow.

Build Technologies

The JDTF build uses the technologies listed in the following table.

Technology Where to Get It
Ant version 1.7.0 or later
Subversion client (with HTTPS support)
JDK version 1.6.0_12


The JDTF build requires the libraries listed in the following table. The library file names are provided in the "Required Library File Name(s)" column. Note that the library names must match exactly and the libraries must be downloaded or built from sources. The libraries must be copied directly into the code/external-lib/ directory with with no sub-directories unless otherwise specified.

Note: Some products from the list below have more recent versions than the one specified. JDTF may build and work with more recent versions of the libraries, however there is no guarantee. You are strongly urged to use the exact versions specified in the table.

Name and Description Version Library File Name(s) Instructions
Commons BeanUtils
Easy-to-use wrappers around the Java language reflection and introspection APIs.
1.7 commons-beanutils-bean-collections.jar
Download and extract the three JAR archives.
Apache Commons Collections
Extends or augments the Java Collections Framework
3.1 commons-collections-3.1.jar Download and extract the required library.
Commons Configuration
Reads configuration/preference data in various formats
1.1 commons-configuration-1.1.jar Download and extract the required library.
Apache Commons Digester
XML-to-Java-object mapping utility
1.6 commons-digester.jar Download and extract the required library.
Apache Commons Lang
Provides extra functionality for classes in java.lang
2.0 commons-lang-2.0.jar Download and extract the required library.
Apache Commons Logging
Wrapper around a variety of logging API implementations
1.0.4 commons-logging-api.jar
Download and extract the required libraries.
Dependency Finder
1.1.0 DependencyFinder.jar Download and extract the file DependencyFinder/lib/DependencyFinder.jar.
Jakarta ORO
2.0.8 jakarta-oro-2.0.8.jar Download and extract the library.
3.0 javassist-3.0.jar Download from Extract javassist.jar and rename it to javassist-3.0.jar.
JT Harness
4.2 MR1 javatest.jar Download and extract lib/javatest.jar.
1.4 jaxp-api.jar
Follow these steps:
  1. Download the JAXP archive from

  2. Run java -jar JAXP_142.jar. The archive is extracted to the folder jaxp-1_4_2-<date>/.

  3. Find the folowing two required files:
JavaHelp System
2.0 jhall.jar Download and extract file jh2.0/javahelp/lib/jhall.jar.
3.8.1 junit.jar Download from and extract the file junit3.8.1/junit.jar.
Apache Log4j
1.2.8 log4j.jar Download from Extract the file dist/lib/log4j-1.2.8.jar and rename it log4j.jar.
Java ME Modules
Java ME API libraries and related tools
n/a midpapi10.jar
Follow these steps:
  1. Download all the files except jdr256.jar from:
  2. Place the preverifier binaries in the appropriate sub-directories. For example, Windows users should not place binaries into cldc-preverify/linux/ and cldc-preverify/solaris/ folders. You only need to download the preveifier libraries for your target platform,

  3. Download the library jsr256.jar (Mobile Sensor API, JSR 256) from J2ME SDK 3.0 and rename it <ME SDK 3.0 Install Folder>/lib/jsr256_1.1.jar.
NetBeans IDE Platform
6.5.1 Download
OpenIDE Modules, 7.8.1, respectively org-openide-awt.jar
Unpack the OpenIDE modules from the NetBeans platform distribution downloaded as shown in the previous row and extract the following files:
4.3 proguard.jar Download from Unpack the archive and get the library proguard.jar from the lib/ directory inside the folder where you extracted the archive.
Apache Xalan-j
2.7.0 serializer.jar Extract the JAR archive from the source or binary distribution of the Xalan-j Apache project at:
Java Servlet API (JSR 154)
2.4 servlet-api.jar Download Apache Tomcat version 5.5 from: Go to the bottom of the page and choose the Zip link in section 5.5.27/Binary Distributions/Core. Extract the library apache-tomcat-5.5.27/common/lib/servlet-api.jar from the Zip file.
Spring Source
1.2.1 spring.jar Download the Spring framework archive from Extract the library spring.jar from the archive.

Configure and Run the Build

The following steps describe how to build the JDTS framework.

  1. Download and install the software listed in the Build Technologies table above.

  • Check out the workspace from the SVN repository.
  • svn checkout --username username

    Throughout this document the code directory is assumed to be the root of local workspace.

  • Make code/external-lib the current directory. Download the libraries listed in the Libraries table above and store them in code/external-lib as described in the table.
  • Make code/build the current directory and run Ant.
  • The output of the build is: code/workspaces/

    Please Confirm