Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Annotations for JVM-based languages

official JetBrains project License Maven Central javadoc

A set of Java annotations which can be used in JVM-based languages. They serve as an additional documentation and can be interpreted by IDEs and static analysis tools to improve code analysis.

Change Log | Contributing | Code of Conduct


Using the annotations

The annotations are published on Maven Central. To add a dependency using gradle write the following in the build.gradle file (Groovy DSL)

dependencies {
    compileOnly 'org.jetbrains:annotations:24.0.1'

or in the build.gradle.kts file (Kotlin DSL)

dependencies {

To add a dependency using Maven, write the following in pom.xml:


annotations artifact requires JDK 1.8 or higher. If your project is compiled using JDK 1.5, 1.6 or 1.7 you can use the annotations-java5 artifact instead. Please note that annotations-java5 artifact is considered a legacy, so most of new annotations will appear in the annotations artifact only.