|Home > Documentation > Installing and running > Getting and installing Geronimo > Building Geronimo from source > Building Geronimo with Maven|
This documents how to build the Apache Geronimo Server project.
This guide is intended to cover how to build the latest
server/branches/2.2. Refer to Building Apache Geronimo in the Development documents for more information on building Geronimo, including this and other branches.
You will need a JDK 5.0+ (J2SE 1.5.0+) or compatible JDK to build Apache Geronimo. It is recommended you use SUN's implementation, or something compatible like Apples implementation. Other JDK vendors implementations may work, but use at your own risk.
To execute the build process you need to have Apache Maven version
2.0.9 (or newer) installed. Note that Geronimo 2.2.x does not build with Maven 3.0 or above.
To check if your installation is working and you have the required minimum version run:
And it should produce something like:
If you have an incompatible version the server build will probably fail with a message complaining
To fetch the source code for the server, you will need to have a Subversion client version 1.2 (or newer, 1.4 is recommended) installed.
Starting from 2.2, you can also use Git mirrors to checkout Geronimo source code, using the following command:
Chances are you will need to increase the heap size for Maven. Add the following lines to
If you are using the SUN JDK (or a JDK with compatible flags, like the Apple JDK), you should also increase the maximum permanent size as well as the heap:
To build all changes incrementally:
To perform clean builds, which are sometimes needed after some changes to the source tree:
In some cases you may need to build Geronimo in stages, such as when building OpenEJB from source to pick up local changes. Most users will not need to do this, but its documented here for clarity.
To build modules, testsupport and maven-plugins:
To build apps, configs and assemblies:
As mentioned, most users will not need to build Geronimo in stages. But in some cases, when bootstrapping new versions (when no artifacts are deployed into remote repositories for the current version), then you must build the stages separately for the first build and then for all builds afterwards, the staged build is not necessary.
Once you have build the server fully, which will produce a number of
tar.gz archives from the assembly modules, you can use the
geronimo-maven-plugin to start the server. From the project root directory run:
And to stop, either
CTRL-C or from a separate terminal, from the project root directory run:
The server project does not have any IDE files checked in, they are all generated by Maven plugins. Once you have checked out the server tree and built it once, you can generate the project configuration files for your IDE.
For the basic IDEA configuration:
To generate a configuration which includes dependency sources and javadocs:
If you're building the 2.0 branch and the build fails because it can't find an xbean jar (for example org.apache.xbean:xbean-naming:jar:3.2-r579367), then add the
repository to the
pom.xml file in the root of the source tree. See this messagefor more details.