Skip to content
Mirror of Apache Jackrabbit Oak
Java Groovy JavaScript CSS Shell Perl
Find file
Latest commit ff1fcf2 May 2, 2016 @reschke reschke OAK-4112: fix warnings
git-svn-id: 13f79535-47bb-0310-9956-ffa450edef68
Failed to load latest commit information.
oak-auth-external OAK-4226 : Improve testing of DefaultSyncContext (move special identi… Apr 26, 2016
oak-auth-ldap minor improvement: fix link in javadoc Apr 21, 2016
oak-authorization-cug [maven-release-plugin] prepare for next development iteration Apr 11, 2016
oak-blob-cloud OAK-4269: Firebug warning: possible null-pointer dereference in S3Bac… Apr 22, 2016
oak-blob [maven-release-plugin] prepare for next development iteration Apr 11, 2016
oak-commons OAK-4259 - Add a test fixture for the oak-segment-next module Apr 25, 2016
oak-core OAK-4112: fix warnings May 2, 2016
oak-doc OAK-3211 : Document External Identity Management (WIP) Apr 21, 2016
oak-examples [maven-release-plugin] prepare for next development iteration Apr 11, 2016
oak-exercise OAK-3208 : Exercise for External Authentication, IDP and User Synchro… Apr 20, 2016
oak-http [maven-release-plugin] prepare for next development iteration Apr 11, 2016
oak-it-osgi [maven-release-plugin] prepare for next development iteration Apr 11, 2016
oak-it OAK-4259 - Add a test fixture for the oak-segment-next module Apr 25, 2016
oak-jcr OAK-4316 - Jcr should accept an instance of the Oak builder but shoul… Apr 27, 2016
oak-lucene OAK-4099 Lucene index appear to be corrupted with compaction enabled Apr 26, 2016
oak-parent OAK-4148 - RAT plugin complains about derby files Apr 13, 2016
oak-pojosr OAK-4236: SegmentNodeStoreConfigTest#testDeadlock in oak-pojosr leave… Apr 20, 2016
oak-remote OAK-4259 - Add a test fixture for the oak-segment-next module Apr 25, 2016
oak-run OAK-4299: oak-run console should connect to repository in read-only m… Apr 26, 2016
oak-segment-next OAK-4282: Make the number of retained gc generation configurable Apr 27, 2016
oak-segment OAK-4311 - Unregister the cluster ID descriptors registered in Segmen… Apr 26, 2016
oak-solr-core OAK-3858: Review slow running tests Apr 14, 2016
oak-solr-osgi [maven-release-plugin] prepare for next development iteration Apr 11, 2016
oak-tarmk-standby OAK-4197 - Remove deprecated constructors from SegmentNodeStore Apr 13, 2016
oak-upgrade OAK-4308 Align the UpgradeTest#upgradeFrom10 to oak-segment-next Apr 27, 2016
.gitignore [trivia] ignored derby.log Apr 7, 2016
.travis.yml OAK-2629: Cleanup Oak Travis jobs Sep 9, 2015
LICENSE.txt OAK-1: Setup basic build structure Mar 6, 2012
NOTICE.txt Update trunk version to 1.1-SNAPSHOT Apr 16, 2014 OAK-3008 : Training material for Oak security (WIP: first bunch of ex… Jun 18, 2015
RELEASE-NOTES.txt OAK-4178 - Release Oak 1.5.1 Apr 11, 2016 OAK-641: Improved benchmark tooling Sep 19, 2013
assembly.xml OAK-42: Prepare for first release Mar 29, 2012 OAK-3483 - progress indicator for check_staged_release script Oct 6, 2015
pom.xml OAK-4244: Create new module oak-segment-next Apr 20, 2016

Jackrabbit Oak - the next generation content repository

Jackrabbit Oak is a scalable, high-performance hierarchical content repository designed for use as the foundation of modern world-class web sites and other demanding content applications.

The Oak effort is a part of the Apache Jackrabbit project. Apache Jackrabbit is a project of the Apache Software Foundation.

Getting Started

To get started with Oak, build the latest sources with Maven 3 and Java 6 (or higher) like this:

mvn clean install

To enable all integration tests, including the JCR TCK, use:

mvn clean install -PintegrationTesting

Before committing changes or submitting a patch, please make sure that the above integration testing build passes without errors. If you like, you can enable integration tests by default by setting the OAK_INTEGRATION_TESTING environment variable.

MongoDB integration

Parts of the Oak build expects a MongoDB instance to be available for testing. By default a MongoDB instance running on localhost is expected, and the relevant tests are simply skipped if such an instance is not found. You can also configure the build to use custom MongoDB settings with the following properties (shown with their default values):

Note that the configured test databases will be dropped by the test cases.


The build consists of the following main components:

  • oak-parent - parent POM
  • oak-doc - Oak documentation
  • oak-commons - shared utility code
  • oak-core - Oak repository API and implementation
  • oak-jcr - JCR binding for the Oak repository
  • oak-sling - integration with Apache Sling
  • oak-solr-core - Apache Solr indexing and search
  • oak-solr-embedded - Apache Solr on an embedded Solr instance
  • oak-solr-remote - Apache Solr on an remote (HTTP) Solr instance
  • oak-http - HTTP binding for Oak
  • oak-lucene - Lucene-based query index
  • oak-run - runnable jar packaging
  • oak-pojosr - integration with PojoSR
  • oak-upgrade - tooling for upgrading Jackrabbit repositories to Oak
  • oak-it - integration tests
    • oak-it/osgi - integration tests for OSGi
  • oak-exercise - Oak training material


The following components have been moved to the Jackrabbit Attic:

  • oak-mk-api - MicroKernel API (deprecated, see OAK-2701)
  • oak-mk - MicroKernel implementation (see OAK-2702)
  • oak-mk-remote - MicroKernel remoting (see OAK-2693)
  • oak-it/mk - integration tests for MicroKernel


(see LICENSE.txt for full license details)

Collective work: Copyright 2014 The Apache Software Foundation.

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Something went wrong with that request. Please try again.