You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 100 Next »

Prerequisites

Windows Tip

Windows users are strongly encouraged to change the M2 local repository (the place where dependencies are downloaded) to a shorter path with no spaces, e.g. C:\.m2.

Using a longer path may cause the build (and Geronimo itself) to behave very strangely when it hits the 260 char limit for filenames on Windows.

In order to change the m2 local repository go to %USERPROFILE%/.m2 and edit/create settings.xml file to contain the following content:

<?xml version="1.0"?>
<settings>
  <localRepository>C:\.m2</localRepository>
</settings>

Checkout Geronimo

svn co https://svn.apache.org/repos/asf/geronimo/server/trunk server

Windows Tip

Windows users are strongly encouraged to checkout Geronimo into c:\g.

Using a longer path may cause the build (and Geronimo itself) to behave very strangely when it hits the 260 char limit for filenames on Windows.

Advanced users may proceed to the For Advanced Users section.

Preparing to build for the first time

Chances are you will need to increase the heap size for Maven. Add the following lines to ~/.mavenrc:

The following snips only set MAVEN_OPTS if its not already set, so that you can override these values on the command line if needed.

# Increase the heap size Maven
if [ "x$MAVEN_OPTS" = "x" ]; then
    MAVEN_OPTS=-Xmx512m
fi

If you are using the SUN JDK, you may also need to increase the maximum permanent size as well as the heap:

# Increase the heap and max permanent size for Maven
if [ "x$MAVEN_OPTS" = "x" ]; then
    MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"
fi

Windows Tip

Windows users should create mavenrc_pre.bat under c:\documents and settings\<username>\mavenrc_pre.bat or c:\mavenrc_pre.bat depending on how the %HOME% property is set on your system.

Variables will need to use the batch set syntax:

set <VARIABLE>=<VALUE>

Building

To build all changes incrementally:

mvn install

To perform clean builds, which are sometimes needed after some changes to the source tree:

mvn clean install

Building Stages

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:

mvn install -Dstage=bootstrap

To build apps, configs and assemblies:

mvn install -Dstage=assemble

Distribution binaries

The binaries for distribution can be found in the *.zip and *.tar.gz formats in following places:

  • server/assembles/geronimo-jetty-j2ee/target
  • server/assembles/geronimo-tomcat-j2ee/target
  • server/assembles/geronimo-jetty-minimal/target
  • server/assembles/geronimo-tomcat-minimal/target

Testing the assembly

To test an assembly, unpack and startup, as in:

gunzip -c assemblies/geronimo-jetty-j2ee/target/geronimo-jetty-j2ee*-bin.tar.gz | tar xf -
./geronimo-jetty-j2ee*/bin/startup.sh

And then shutdown:

./geronimo-jetty-j2ee*/bin/shutdown.sh

Or, use the geronimo-maven-plugin to start the server:

mvn -Ptools geronimo:start

Windows Tip

Windows users may need to specify an alternative installDirectory to avoid long path problems:

mvn -Ptools geronimo:start -DinstallDirectory=c:\g

And to stop, either CTRL-C or from a separate terminal:

mvn -Ptools geronimo:stop

In order to run with the simple geronimo prefix, you need to add a pluginGroup for org.apache.geronimo.plugins to your ~/.m2/settings.xml:

<?xml version="1.0"?>
<settings>
    <pluginGroups>
        <pluginGroup>org.apache.geronimo.plugins</pluginGroup>
    </pluginGroups>
</settings>

Windows Tip

Windows users will find ~/.m2/ under c:\documents and settings\<username>\.m2.

If you don't want to add this to your local settings you can still enable the tools profile, which will register the prefixes.

For Advanced Users

Please be sure to have read the details above and configured your environment accordingly before following these instructions.

Checkout openejb2 using:

svn co http://svn.apache.org/repos/asf/incubator/openejb/trunk/openejb2 openejb2

Building Geronimo with openejb2

Add a profile to the top level pom.xml like this:

<profile>
    <id>build-all</id>

    <activation>
        <property>
            <name>all</name>
        </property>
    </activation>

    <modules>
        <module>testsupport</module>
        <module>modules</module>
        <module>maven-plugins</module>
        <module>applications</module>
        <module>openejb2</module>
        <module>configs</module>
        <module>assemblies</module>
    </modules>
</profile>

Build geronimo and openejb2 from the top directory using:

mvn -Dall clean install

or:

mvn -Dall

Other Useful commands

To prepare Geronimo for IDEA:

mvn idea:idea

To prepare Geronimo for Eclipse, i.e to create .classpath and .project files

mvn eclipse:eclipse

Maven Bugs

There are a few bugs in Maven, which Geronimo has been forced to work around. The links to issues are here for reference:


Vote for these issues, so we can eventually drop our workarounds... and help improve the quality of Maven (wink)

Not Really Bugs

Some things are not really bugs, but still annoying:

  • No labels