| [](https://issues.apache.org/jira/projects/OAK/summary) |
| [](https://central.sonatype.com/artifact/org.apache.jackrabbit/oak-core) |
| [](https://github.com/apache/jackrabbit-oak/actions/workflows/build.yml) |
| [](https://sonarcloud.io/summary/new_code?id=org.apache.jackrabbit%3Ajackrabbit-oak) |
| [](https://sonarcloud.io/summary/new_code?id=org.apache.jackrabbit%3Ajackrabbit-oak) |
| [](https://sonarcloud.io/summary/new_code?id=org.apache.jackrabbit%3Ajackrabbit-oak) |
| |
| 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 11 (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): |
| |
| -Dmongo.host=127.0.0.1 |
| -Dmongo.port=27017 |
| -Dmongo.db=MongoMKDB |
| -Dmongo.db2=MongoMKDB2 |
| |
| Note that the configured test databases will be *dropped* by the test cases. |
| |
| Components |
| ---------- |
| |
| The build consists of the following main components: |
| |
| - oak-parent - parent POM |
| - oak-doc - Oak documentation |
| - oak-commons - shared utility code |
| - [oak-core][1] - Oak repository API and implementation |
| - oak-jcr - JCR binding for the Oak repository |
| - oak-sling - integration with Apache Sling |
| - oak-http - HTTP binding for Oak |
| - oak-lucene - Lucene-based query index |
| - oak-run - runnable jar packaging |
| - oak-pojosr - integration with PojoSR |
| - oak-segment-tar - TarMK API and implementation |
| - oak-upgrade - tooling for upgrading Jackrabbit repositories to Oak |
| - oak-it - integration tests |
| - oak-it/osgi - integration tests for OSGi |
| - [oak-exercise][2] - Oak training material |
| |
| [1]: oak-api/README.md |
| [2]: oak-exercise/README.md |
| |
| Archive |
| ------- |
| |
| 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 |
| |
| License |
| ------- |
| |
| (see [LICENSE.txt](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 |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| 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. |