# Jakarta Annotations [![Build Status](https://travis-ci.org/eclipse-ee4j/common-annotations-api.svg?branch=master)](https://travis-ci.org/eclipse-ee4j/common-annotations-api)

**Jakarta Annotations** defines a collection of annotations representing common
semantic concepts that enable a declarative style of programming that applies
across a variety of Java technologies.

This standalone release of Jakarta Annotations uses a
[Java Platform Module System](http://openjdk.java.net/projects/jigsaw/spec/)
"automatic" module name of `java.annotation`, to match the module name
used in JDK 9.  A future version will include full module metadata.
