Table of Contents
Geronimo can be freely downloaded and installed from the project home page on the Internet. This chapter discusses the download process, and then takes a quick tour of installing and starting Geronimo, connecting to the management console, deploying a database connection pool, setting up a security realm, and deploying an application.
Geronimo releases are available from the Geronimo web site:
http://geronimo.apache.org/downloads.html
There are three types of downloads available for each release:
J2EE Binary Release -- a
.tar.gz or .zip package that can be unpacked to
produce a working Geronimo installation, ready to run with default
settings. This release includes a full J2EE-certified distribution of
Geronimo. Generally the .tar.gz packages are best
suited for Mac or UNIX platforms, while the .zip
packages are best suited for Windows platforms.
Little G Binary Release -- a
.tar.gz or .zip package that can be unpacked to
produce a working Geronimo installation, ready to run with default
settings. This release does not include a full
J2EE stack -- it is lighter-weight and focused on supporting web
applications. While it includes many of the same elements as the J2EE
release, it omits EJB, JMS, Web Services, and CORBA support, as well
as the administration console. (Some of these individual features can
be added back using Geronimo Plugins.) Generally the
.tar.gz packages are best suited for Mac or UNIX
platforms, while the .zip packages are best
suited for Windows platforms.
Source Code -- a .tar.gz or .zip package with the source code for
Geronimo (and in some cases, closely related projects such as
OpenEJB). The Geronimo release can be rebuilt completely from the
provided source code, though the build scripts require a Maven
installation and a Java 1.4.2 development kit.
The binary releases are offered with two distinct configurations. Each configuration uses a different web container in Geronimo. The available web containers are:
Jetty Web Container
Tomcat Web Container
The Geronimo team fully supports both web containers, and does not have a preference for one or the other. We have people working hard to ensure that both are well-integrated into Geronimo. For straight J2EE applications, either container will work well. Some more advanced configurations do expose differences between the two web containers -- one area of note being how they handle virtual hosting. And some developers may have an existing preference. In any case, Geronimo uses a standard web deployment plan for both containers, and minimizes any differences visible to applications and developers.
![]() | Note |
|---|---|
To further clarify on Virtual Hosts, Tomcat configures each host separately with listen addresses, etc. and then can assign web applications to hosts in the deployment plan for an application. Jetty simple allows the developer to specify a list of virtual hosts in the deployment plan for an application. |
In order to get a version of Geronimo more current that the latest release, the source code can be checked out from Subversion, the version-control system used for Geronimo. Then the Geronimo build scripts can be used to create a custom distribution of Geronimo, using the same procedure as to build from an official source code release. The tools required to check out and build Geronimo include:
A Java Development Kit, version 1.4.2
Apache Maven 1.x, in order to download dependencies and build Geronimo (Maven 2.x for Geronimo 1.2 and higher)
A Subversion 1.x client, in order to check out the source code
The source code can be checked with a command like this:
svn co https://svn.apache.org/repos/asf/geronimo/trunk geronimo
This will create a new directory called geronimo containing the Geronimo source
code. From there, you can run various Maven commands to download
dependencies, build Geronimo and the projects it requires, run tests,
etc. This process is documented in greater detail on the Geronimo Wiki
(http://wiki.apache.org/geronimo/Building).
Once Geronimo has been built from source, the directories under
geronimo/modules/assemblies/
contain the same files that would ordinarily be present in the various
release options (typically under a target/geronimo-
subdirectory). That directory can be copied elsewhere and generally
treated similarly to a release.version/