Content Repository API for Java™
The JCR standard, specified in the Java Specification Request 170 and 283, is an implementation independent way to access content bi-directionally on a granular level within a content repository. The JCR standard allows for the clear separation of reusable repository functionality (search, versioning, access control, etc.) from application-specific functionality.
This allows the developer to concentrate on applications' core features, considerably shortening development time. Different applications can use the same API to access content, so that development and maintenance becomes more efficient, improving the total cost of ownership of content applications.
JSR-170 (JCR 1.0)
Visit the JSR-170 page to find the:
- Specification (online and download)
- Technology Compatibility Kit (TCK)
- the Reference Implementation of JSR-170
The final public release of the specification was on June 17, 2005.
JSR-283 (JCR 2.0)
Visit the JSR-283 page to find the latest version of the:
- Download Specification
- Technology Compatibility Kit (TCK)
- the Reference Implementation of JSR-283
The final public release of the specification was on September 25, 2009
Acronyms
JCR: Java Content Repository
JSR: Java Specification Request
JCP: Java Community Process
TCK: Technology Compatibility Kit
RI: Reference Implementation
API: Application programming interface
Why a Standard?

Roy T. Fielding, Ph.D., Chief Scientist
The Content Repository API for Java Technology (JCR) is poised to revolutionize the development of Java EE applications in the same way that the Web has revolutionized the development of network-based applications. JCR ’s interface designers have followed the guiding principles of the Web to simplify the interactions between an application and its content repository, thus replacing many application-specific or storage-specific interfaces with a single, generic API for content repository manipulation.
Download 15-page PDF on JSR-170 from Roy T. Fielding:
