You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by co...@apache.org on 2009/11/24 12:40:00 UTC

[CONF] Apache Jackrabbit > Building Jackrabbit

Space: Apache Jackrabbit (http://cwiki.apache.org/confluence/display/JCR)
Page: Building Jackrabbit (http://cwiki.apache.org/confluence/display/JCR/Building+Jackrabbit)

Change Comment:
---------------------------------------------------------------------
Add commons SVN links / contrib -> sandbox / update to JR 2.x (JDK 1.5)

Edited by Sébastien Launay:
---------------------------------------------------------------------
The easiest way to use Jackrabbit is to [download|http://jackrabbit.apache.org/download.cgi] a binary release, but if you want to access the latest development version, you need to get the Jackrabbit sources and build them using the [Maven 2|http://maven.apache.org/] build environment.

The first step in building Jackrabbit is to check out the Jackrabbit sources from the [Subversion|http://subversion.tigris.org/] source repository at [http://svn.apache.org/repos/asf/jackrabbit/]. The source tree is divided in standard parts: [trunk|http://svn.apache.org/repos/asf/jackrabbit/trunk/], [branches|http://svn.apache.org/repos/asf/jackrabbit/branches/], [tags|http://svn.apache.org/repos/asf/jackrabbit/tags/] and [commons|http://svn.apache.org/repos/asf/jackrabbit/commons/] ([more info about commons|http://jackrabbit.apache.org/commons/]). The latest development version is found within trunk, while the other parts are used to keep track of the source code of the Jackrabbit releases.

The trunk contains the top-level build environment and a number of [component projects|Jackrabbit Components] within subdirectories. See the README.txt files within each subdirectory for a brief description of the component project. There is also a [sandbox|http://svn.apache.org/repos/asf/jackrabbit/sandbox/] directory with miscellaneous contributions that are not yet a part of the official Jackrabbit releases.


h2. Checking out the sources with Subversion

You need a [Subversion|http://subversion.tigris.org/] client to access the Jackrabbit source repository. Take a look at the [Subversion client list|http://subversion.tigris.org/project_links.html#clients] unless you already have a one installed. Once you have the Subversion client installed you can checkout the main Jackrabbit source tree with the following command or its equivalent in the client you are using:
{code}
svn checkout http://svn.apache.org/repos/asf/jackrabbit/trunk jackrabbit
{code}
The above checkout will create a subdirectory named jackrabbit that contains the latest Jackrabbit sources. See the [Subversion book|http://svnbook.red-bean.com/] or the documentation of your Subversion client for more information on how to manage your source tree and keep it up to date with latest development.


h2. Building the sources with Maven

Jackrabbit uses [Maven 2|http://maven.apache.org/] as the build system and the component sources are mostly organized according to the Maven [Standard Directory Layout|http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html].
The standard build environment is Maven 2 with the Java Development Kit (JDK) 1.5 (but the build is known to work also with Java 6).

{info:title=Jackrabbit 1.x}
The standard build environment for 1.x versions is Maven 2 with the Java Development Kit (JDK) *1.4* (but the build is known to work also with Java 5 and 6).
{info}

See the [Running Maven|http://maven.apache.org/run-maven/index.html] page and the related documentation on the Maven web site for instructions on how to use Maven. You may also want to check for Maven 2 integration with your favourite Integrated Development Environment (IDE).

There are Maven project descriptors (POMs) within both the top level jackrabbit directory you checked out above and all the jackrabbit\-_something_ component subdirectories. The easiest way to build Jackrabbit is to use the "multimodule" setup within the top level directory:
{code}
$ cd /path/to/jackrabbit; mvn install
{code}
This will build and package all the component projects and place the resulting artifacts within your local Maven 2 repository. You can also find the artifacts within the created target subdirectories of the component projects.

Change your notification preferences: http://cwiki.apache.org/confluence/users/viewnotifications.action