Prerequisites
- J2SE SDK 1.4.2
- Apache Maven (2.0.4+)
- Subversion (1.2+)
You must use J2SE 1.4.x... NOT 1.5. The build should fail early if you are using the wrong JDK.
MS 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
MS 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
:
# Increase the heap and max permission size for Maven MAVEN_OPTS=-Xmx512m
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 MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m
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
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.
Installing Ant is not necessary. 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
What is Genesis?
Please see Genesis Overview for more information about Genesis.