Каков статус JSR 305?

Я видел вопрос JSR305 против JSR308 (Аномалии типа Java) - Что будет стандартным?, и я понимаю разницу между JSR 308 и JSR 305.

Я также понимаю, что в настоящее время 308 запланировано для Java 7, а 305 - нет, и мне интересно об общем состоянии 305.

В частности, я использую Коллекции Google и JSR-305 в некоторых из моих проектов (аналогично тому, что один из адвокатов Guice best practices) и задавался вопросом, есть ли более "будущее направление" - дружеский подход, который я должен использовать вместо этого. Я планирую также спросить об этом в группе JSR-305, но у этой группы нет большой активности, и мне просто интересно, есть ли у кого-нибудь здесь больше информации.

Ответ 1

Как описано в этом , JSR-305 предлагает новые аннотации, такие как @NonNull, а JSR-308 предлагает разрешить аннотации в новых таких как, например, в общих декларациях.

Цитата страница JSR 308:

... этот документ не предлагает каких-либо аннотаций, просто указывая, где они могут появляться в Java-коде.

JSR 308 (аннотации в новых местах) включен в java 8 под JEP 104.

По состоянию на 2017 год JSR 305 (новые аннотации) продолжает носить официальный статус "Dormant". A вопрос об этом статусе в группе google остается без ответа с 2010 года.

Существует эталонная реализация аннотаций JSR-305 здесь, которая используется многими проектами, включая guava. С помощью maven вы можете использовать эталонную реализацию JSR-305, добавив ее в ваш pom,

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>3.0.0</version>
</dependency>

Ответ 3

Java 8 описывается JSR 337: спецификация достигла конечного статуса: см. здесь.

  • JSR 308 определенно находится в
  • JSR 305 определенно отсутствует

Ответ 4

По словам Alex Millers Java 7 blog, JSR-308 (и 305) планируется зайти на Java 7. Возможно, он будет Здесь вы можете найти дополнительную информацию.