If you are in a hurry to have Apache Geronimo up and running, this article can show you the basic steps of downloading, building (when needed) and running the server in a short time.

All you need is 5 to 10 minutes to follow these steps.

Getting the software

There are currently the following two ways to get the released software:

  • Retrieve the source code from the Apache SVN repository.
  • Download the binary files from the Apache Geronimo Web site.

This section only shows how to download the binary files from the Apache Geronimo Web site because this way is faster and easier than retrieving the source code from the Apache SVN repository.

Prerequisites

Before you install Geronimo, you must install the Java Runtime Environment (JRE) or Java Development Kit (JDK). JDK is only required for wsgen tools.

Installing Java SE 5 or 6

Apache Geronimo v2.2 is Java EE 5 Certified. For more information about how to download and install the latest JRE or JDK of Java SE 5 or Java SE 6, go to http://java.sun.com.

It is possible to run Apache Geronimo v2.2 on the IBM 1.5.0/1.6.0 SDK and other implementations of Java that are certified as Java SE 5 or 6 compliant, but Geronimo is not tested or certified on those implementations.

Downloading binary files

You can go to http://geronimo.apache.org/downloads.html to download the available packages (binary files and source code). You must select the installation file according to the platform that you plan to install and run Apache Geronimo on.

Geronimo v2.2 is available in the following three assembly configurations:

  • Java EE 5 : full Java EE 5 functionality
  • Minimal (Little-G) : Web Container, Transaction, and Connector capabilities
  • Framework : Geronimo kernel core functionality

In this section, we use Java EE 5 assembly configuration with Tomcat Web container. For more information about the difference between these three assembly configurations, see Getting and installing Geronimo.

You can download the installation file with the compression format (.zip or .tar.gz) that is compatible with your operating system by clikcing the link on the website. To install Apache Geronimo, extract the binary files to a new directory on your hard disk, for example, z:/geronimo. In the rest of this section, this directory is referred to as <geronimo_home>.

Starting the server

To start Apache Geronimo:

  1. In the command-line interface, go to the <geronimo_home>/bin directory.
  2. Type one of the following commands:
    • geronimo run
    • start-server
    • gsh geronimo/start-server

These commands start the server within the command-line interface instead of in the background. When the server is started, you can see the following information.

Launching Geronimo Server...
Booting Geronimo Kernel (in Java 1.5.0_13)...
Module  1/65 org.apache.geronimo.framework/j2ee-system/2.2-SNAPSHOT/car                                       started in   .000s
Module  2/65 org.apache.geronimo.framework/jee-specs/2.2-SNAPSHOT/car                                         started in   .000s
Module  3/65 org.apache.geronimo.framework/rmi-naming/2.2-SNAPSHOT/car                                        started in   .180s
Module  4/65 org.apache.geronimo.framework/j2ee-security/2.2-SNAPSHOT/car                                     started in   .126s
Module  5/65 org.apache.geronimo.configs/j2ee-server/2.2-SNAPSHOT/car                                         started in   .031s
Module  6/65 org.apache.geronimo.plugins.classloaders/geronimo-javaee-deployment_1.1MR3_spec/2.2-SNAPSHOT/car started in   .000s
Module  7/65 org.apache.geronimo.framework/xmlbeans/2.2-SNAPSHOT/car                                          started in   .000s
Module  8/65 org.apache.geronimo.framework/plugin/2.2-SNAPSHOT/car                                            started in   .495s
Module  9/65 org.apache.geronimo.framework/geronimo-gbean-deployer/2.2-SNAPSHOT/car                           started in   .233s
Module 10/65 org.apache.geronimo.framework/transformer-agent/2.2-SNAPSHOT/car                                 started in   .000s
Module 11/65 org.apache.geronimo.configs/transaction/2.2-SNAPSHOT/car                                         started in   .254s
Module 12/65 org.apache.geronimo.plugins.classloaders/xbean-finder/2.2-SNAPSHOT/car                           started in   .000s
Module 13/65 org.apache.geronimo.configs/derby/2.2-SNAPSHOT/car                                               started in   .000s
Module 14/65 org.apache.geronimo.configs/system-database/2.2-SNAPSHOT/car                                     started in  1.416s
Module 15/65 org.apache.geronimo.plugins.classloaders/geronimo-schema-jee_5/2.2-SNAPSHOT/car                  started in   .000s
Module 16/65 org.apache.geronimo.configs/webservices-common/2.2-SNAPSHOT/car                                  started in   .000s
Module 17/65 org.apache.geronimo.configs/activemq-broker/2.2-SNAPSHOT/car                                     started in  1.182s
Module 18/65 org.apache.geronimo.configs/openjpa/2.2-SNAPSHOT/car                                             started in   .004s
Module 19/65 org.apache.geronimo.framework/server-security-config/2.2-SNAPSHOT/car                            started in   .027s
Module 20/65 org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car                                             started in   .805s
Module 21/65 org.apache.geronimo.configs/axis/2.2-SNAPSHOT/car                                                started in   .113s
Module 22/65 org.apache.geronimo.configs/axis2/2.2-SNAPSHOT/car                                               started in   .000s
Module 23/65 org.apache.geronimo.configs/axis2-ejb/2.2-SNAPSHOT/car                                           started in   .000s
Module 24/65 org.apache.geronimo.configs/j2ee-corba-yoko/2.2-SNAPSHOT/car                                     started in   .575s
Module 25/65 org.apache.geronimo.configs/jasper/2.2-SNAPSHOT/car                                              started in   .004s
Module 26/65 org.apache.geronimo.configs/tomcat6/2.2-SNAPSHOT/car                                             started in  2.167s
Module 27/65 org.apache.geronimo.configs/aspectj/2.2-SNAPSHOT/car                                             started in   .014s
Module 28/65 org.apache.geronimo.configs/clustering/2.2-SNAPSHOT/car                                          started in   .055s
Module 29/65 org.apache.geronimo.configs/tomcat6-no-ha/2.2-SNAPSHOT/car                                       started in   .000s
Module 30/65 org.apache.geronimo.configs/j2ee-deployer/2.2-SNAPSHOT/car                                       started in   .179s
Module 31/65 org.apache.geronimo.configs/connector-deployer/2.2-SNAPSHOT/car                                  started in   .073s
Module 32/65 org.apache.geronimo.configs/tomcat6-deployer/2.2-SNAPSHOT/car                                    started in   .072s
Module 33/65 org.apache.geronimo.configs/tomcat6-clustering-builder-wadi/2.2-SNAPSHOT/car                     started in   .956s
Module 34/65 org.apache.geronimo.configs/activemq-ra/2.2-SNAPSHOT/car                                         started in   .253s
Module 35/65 org.apache.geronimo.configs/javamail/2.2-SNAPSHOT/car                                            started in   .023s
Module 36/65 org.apache.geronimo.configs/jasper-deployer/2.2-SNAPSHOT/car                                     started in   .016s
Module 37/65 org.apache.geronimo.configs/myfaces/2.2-SNAPSHOT/car                                             started in   .013s
Module 38/65 org.apache.geronimo.configs/myfaces-deployer/2.2-SNAPSHOT/car                                    started in   .015s
Module 39/65 org.apache.geronimo.configs/openejb-deployer/2.2-SNAPSHOT/car                                    started in   .077s
Module 40/65 org.apache.geronimo.configs/openejb-corba-deployer/2.2-SNAPSHOT/car                              started in   .097s
Module 41/65 org.apache.geronimo.configs/persistence-jpa10-deployer/2.2-SNAPSHOT/car                          started in   .053s
Module 42/65 org.apache.geronimo.configs/axis-deployer/2.2-SNAPSHOT/car                                       started in   .052s
Module 43/65 org.apache.geronimo.configs/jaxws-deployer/2.2-SNAPSHOT/car                                      started in   .000s
Module 44/65 org.apache.geronimo.configs/axis2-deployer/2.2-SNAPSHOT/car                                      started in   .043s
Module 45/65 org.apache.geronimo.configs/jaxws-ejb-deployer/2.2-SNAPSHOT/car                                  started in   .000s
Module 46/65 org.apache.geronimo.configs/axis2-ejb-deployer/2.2-SNAPSHOT/car                                  started in   .041s
Module 47/65 org.apache.geronimo.configs/client-deployer/2.2-SNAPSHOT/car                                     started in   .051s
Module 48/65 org.apache.geronimo.configs/hot-deployer/2.2-SNAPSHOT/car                                        started in   .303s
Module 49/65 org.apache.geronimo.configs/welcome-tomcat/2.2-SNAPSHOT/car                                      started in   .150s
Module 50/65 org.apache.geronimo.configs/spring/2.2-SNAPSHOT/car                                              started in   .000s
Module 51/65 org.apache.geronimo.plugins/pluto-support/2.2-SNAPSHOT/car                                       started in   .209s
Module 52/65 org.apache.geronimo.plugins/console-tomcat/2.2-SNAPSHOT/car                                      started in  2.503s
Module 53/65 org.apache.geronimo.plugins/plugin-console-tomcat/2.2-SNAPSHOT/car                               started in   .315s
Module 54/65 org.apache.geronimo.plugins/sysdb-console-tomcat/2.2-SNAPSHOT/car                                started in   .377s
Module 55/65 org.apache.geronimo.plugins/activemq-console-tomcat/2.2-SNAPSHOT/car                             started in   .559s
Module 56/65 org.apache.geronimo.configs/remote-deploy-tomcat/2.2-SNAPSHOT/car                                started in   .066s
Module 57/65 org.apache.geronimo.configs/uddi-tomcat/2.2-SNAPSHOT/car                                         started in   .477s
Module 58/65 org.apache.geronimo.configs/ca-helper-tomcat/2.2-SNAPSHOT/car                                    started in   .103s
Module 59/65 org.apache.geronimo.configs/sharedlib/2.2-SNAPSHOT/car                                           started in   .007s
Module 60/65 org.apache.geronimo.configs/mejb/2.2-SNAPSHOT/car                                                started in   .242s
Module 61/65 org.apache.geronimo.configs/concurrent/2.2-SNAPSHOT/car                                          started in   .120s
Module 62/65 org.apache.geronimo.configs/concurrent-deployer/2.2-SNAPSHOT/car                                 started in   .021s
Module 63/65 org.apache.geronimo.framework/gshell-framework/2.2-SNAPSHOT/car                                  started in   .000s
Module 64/65 org.apache.geronimo.framework/gshell-geronimo/2.2-SNAPSHOT/car                                   started in   .000s
Module 65/65 org.apache.geronimo.framework/gshell-remote/2.2-SNAPSHOT/car                                     started in   .000s
Startup completed in 17.632s seconds
  Listening on Ports:
    1050 127.0.0.1 CORBA Naming Service
    1099 0.0.0.0   RMI Naming
    1527 0.0.0.0   Derby Connector
    2001 127.0.0.1 OpenEJB ORB Adapter
    4201 0.0.0.0   OpenEJB Daemon
    6882 127.0.0.1 OpenEJB ORB Adapter
    8009 0.0.0.0   Tomcat Connector AJP AJP
    8080 0.0.0.0   Tomcat Connector HTTP BIO HTTP
    8443 0.0.0.0   Tomcat Connector HTTPS BIO HTTPS
    9999 0.0.0.0   JMX Remoting Connector
   61613 0.0.0.0   ActiveMQ Transport Connector
   61616 0.0.0.0   ActiveMQ Transport Connector

  Started Application Modules:
    EAR: org.apache.geronimo.configs/uddi-tomcat/2.2-SNAPSHOT/car
    EAR: org.apache.geronimo.plugins/console-tomcat/2.2-SNAPSHOT/car
    JAR: org.apache.geronimo.configs/mejb/2.2-SNAPSHOT/car
    RAR: org.apache.geronimo.configs/activemq-ra/2.2-SNAPSHOT/car
    RAR: org.apache.geronimo.configs/system-database/2.2-SNAPSHOT/car
    WAR: org.apache.geronimo.configs/ca-helper-tomcat/2.2-SNAPSHOT/car
    WAR: org.apache.geronimo.configs/remote-deploy-tomcat/2.2-SNAPSHOT/car
    WAR: org.apache.geronimo.configs/welcome-tomcat/2.2-SNAPSHOT/car
    WAR: org.apache.geronimo.plugins/activemq-console-tomcat/2.2-SNAPSHOT/car
    WAR: org.apache.geronimo.plugins/plugin-console-tomcat/2.2-SNAPSHOT/car
    WAR: org.apache.geronimo.plugins/sysdb-console-tomcat/2.2-SNAPSHOT/car

  Web Applications:
    /
    /CAHelper
    /activemq
    /console
    /console-base
    /juddi
    /plugin
    /remote-deploy
    /system-database

Geronimo Application Server started
Geronimo Server started in 0:00:20.803

To verify that the Apache Geronimo server is running, go to http://localhost:8080/console to open the Geronimo administrative console. The Geronimo administrative console is the first application you can test. It is deployed in the standard, full Java EE certified distribution of Apache Geronimo.

When the Geronimo administrative console is open, enter system as the user name and manager as the password.

The following figure shows the Web-based Geronimo administrative console.

Now you have Apache Geronimo up and running. The following section shows you how to create, deploy, and run a sample JSP Web application on Apache Geronimo.

Creating and deploying a sample application

To create a HelloWorld JSP Web application:

  1. Create a new directory to hold all the application related files. In the rest of this section, this directory is referred to as <app_home>.
  2. In the <app_home> directory, create a plain text file named HelloWorld.jsp, and then copy the following code to this file.
HelloWorld.jsp
<html>
  <head>
   <jsp:useBean id="datetime" class="java.util.Date"/>
    <title>
        Basic HelloWorld JSP
     </title>
 </head>
  <body bgcolor="#1276C2">
     <h1>
        <font face="tahoma" color="white">
                 Hello world from GERONIMO!
         </font>
       </h1>
          <font face="tahoma" color="white">on ${datetime}</font>
      </body>
</html>

To deploy an application, you must create a Geronimo specific deployment plan. To create the deployment plan for the sample application:

  1. Create a directory named WEB-INF in the <app_home> directory.
  2. In the <app_home>/WEB-INF directory, create a plain text file named geronimo-web.xml, and then copy the following code to this file.
    Geronimo deployment plan geronimo-web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1">
        <environment>
            <moduleId>
                <groupId>org.apache.geronimo.samples</groupId>
                <artifactId>HelloWorldApp</artifactId>
                <version>2.2</version>
                <type>war</type>
            </moduleId>             
        </environment>
        <context-root>/hello</context-root>
    </web-app>
    

  3. In the <app_home>/WEB-INF directory, create a plain text file named web.xml, and then copy the following code to this file.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
		       http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    
    <welcome-file-list>
        <welcome-file>HelloWorld.jsp</welcome-file>
    </welcome-file-list>

</web-app>

Deploying and testing the application

In this example, we do not invest time in packaging the application. Instead, we use the --inPlace feature of the deployer tool to deploy the application. You can use this feature to deploy an application from any directory.

To deploy the application:

  1. In the command-line interface, go to the <geronimo_home>/bin directory.
  2. Type the following command:
deploy --user system --password manager deploy --inPlace <app_home>

When the application is successfully deployed, you can see the following message:

D:\geronimo-tomcat6-javaee5-2.2\bin>deploy --user system --password manager deploy --inPlace \HelloWorld
Using GERONIMO_BASE:   D:\geronimo-tomcat6-javaee5-2.2
Using GERONIMO_HOME:   D:\geronimo-tomcat6-javaee5-2.2
Using GERONIMO_TMPDIR: var\temp
Using JRE_HOME:        C:\Java\jdk1.5.0_06\jre
    Deployed sample.applications/HelloWorldApp/2.2/war @ /hello

To test the application, go to http://localhost:8080/hello.

Stopping the server

In the command-line interface where the server is started, press CTRL+C to stop the server.

Summary

This article shows you how simple it is to have Apache Geronimo up and running. It takes less than five minutes to start the server if you have installed the prerequisites. Additionally, this article shows you how to create, deploy and test a simple JSP Web application in less than five minutes.

  • No labels