Вопрос

Я видел вопрос JSR305 против.JSR308 (аннотации типа Java) – какой стандарт будет стандартом? и я понимаю разницу между ДжСР 308 и ДжСР 305.

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

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

Это было полезно?

Решение

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

Цитирование ДжСР 308 страница:

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

JSR 308 (аннотации в новых местах) включен в Ява 8 под ДжЭП 104.

По состоянию на 2017 год ДжСР 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>

Другие советы

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

  • JSR 308 определенно в моде.
  • JSR 305 определенно вышел

По словам Алекса Миллерса Блог Java 7, JSR-308 (и 305) планируется включить в Java 7.Возможно, он появится здесь и даст вам больше информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top