Search Apache POI

Apache POI - How To Build

JDK Version

POI 3.5 and later requires the JDK version 1.5 or later. Versions prior to 3.5 require JDK 1.4+.

Note: Version 3.11 and newer will remove support for JDK 1.5 and thus will require JDK version 1.6 or later.

Install Apache Ant

The POI build system requires Apache Ant

Specifically the build has been tested to work with Ant version 1.7.1. To install the product, download the distribution and follow the instructions.

Remember to set the ANT_HOME environment variable and add ANT_HOME/bin to your shell's PATH.

Install JUnit

Running unit tests and building a distribution requires JUnit.

Just pick the latest versions of the jars from SourceForge and place them in ANT_HOME/lib. Make sure that optional.jar is in ANT_HOME/lib.

Install Apache Forrest

The POI build system requires Apache Forrest to build the documentation.

Specifically the build has been tested to work with Forrest 0.5. This is an old release which is available here.

Remember to set the FORREST_HOME environment variable.

Building Targets with Ant

The main targets of interest to our users are:

Ant Target Description
clean Erase all build work products (ie. everything in the build directory
compile Compiles all files from main, ooxml and scratchpad
test Run all unit tests from main, ooxml and scratchpad
jar Produce jar files
assemble Produce .zip and tar.gz distribution packages
docs Generate all documentation (Requires Apache Forrest)

Working with Eclipse

Apache POI includes a pre-defined Eclipse project file which can be used to quickly get set up in the Eclipse IDE.

In order to get started, first build Apache POI using Ant as described above to get all required 3rd party libraries downloaded.

Then import the project in Eclipse via File->Import->Existing Projects into Workspace.

Note: when executing junit tests from within Eclipse, you might need to set the system property "POI.testdata.path" to make the test framework find the required test-files.

by Glen Stampoultzis, Tetsuya Kitahata, David Fisher