Apache Jackrabbit

Apache Jackrabbit

Java content repository implementation

Description

Build a CMS or document system and the first thing you hit is where content lives: a folder-like tree, metadata, version history, full-text search. Cobble that together from database tables and you end up writing half a repository engine. Apache Jackrabbit ships it ready-made as a JCR content repository, a full implementation of both the JSR 170 and JSR 283 Java content repository APIs, so your code just stores and reads nodes and properties through the standard interface.

Use it embedded as a library in a Java app, or run the standalone server packaged as a single JAR; at startup it creates a repository directory and a default configuration file if they are missing. The page tracks the three current release lines: stable 2.22.5, beta 2.23.6 and the long-maintained 2.16.10, all needing Java 7 or newer.

Features



Hierarchical content model: content lives as a tree of nodes and properties, with structured and unstructured data side by side in one repository.

Full-text search: search is built in, so there is no separate search service to wire up.

Versioning: nodes can keep a version history, so older content can be inspected or restored.

Transactions and observation: supports transactions and lets you subscribe to repository change events to trigger follow-up work.

Standalone server: a prebuilt, runnable server in one JAR, handy for getting a feel for JCR quickly.