Как описано в этом ответе , JSR-305 предлагает новые аннотации, такие как @ NonNull , тогда как JSR-308 предлагает разрешениеаннотации в новых местах, таких как общие объявления.
Цитирование JSR 308 страница:
… этот документ не предлагает никаких аннотаций, просто указывает, где они могут появляться в коде Java.
JSR 308 (аннотации в новых местах) включены в java 8 в JEP 104 .
Начиная с 2017 года, JSR 305 (новые аннотации) продолжает нести официальный статус «Бездействующий». вопрос о его статусе в группе Google остается без ответа с 2010 года.
Существует справочная реализация аннотаций JSR-305 здесь , которая используется многимипроекты, в том числе гуавы.С maven вы можете использовать эталонную реализацию JSR-305, добавив это в ваш pom,
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>