Widziałem pytanie JSR305 kontra JSR308 (anotacje typu Java) - który będzie standardem? i rozumiem różnicę między JSR 308 i JSR 305 .
Rozumiem również, że w tej chwili 308 jest przeznaczone dla Javy 7, a 305 nie, i jestem ciekawy ogólnego stanu 305.
W szczególności używam Google Collections i JSR-305 w niektórych moich projektach (w podobny sposób, jak jeden z zwolenników najlepszych praktyk Guice ) i zastanawiałam się, czy jest bardziej przyjazne dla „przyszłego kierunku” podejście, którego powinienem użyć zamiast. Planuję również o to zapytać na grupie JSR-305, ale ta grupa nie jest zbyt aktywna i zastanawiałem się tylko, czy ktoś tutaj ma więcej informacji.
Odpowiedzi:
Jak opisano w tej odpowiedzi , JSR-305 proponuje nowe adnotacje, takie jak @NonNull , podczas gdy JSR-308 proponuje zezwolenie na adnotacje w nowych miejscach, na przykład w deklaracjach ogólnych.
Cytując stronę JSR 308 :
JSR 308 (adnotacje w nowych miejscach) znajduje się w java 8 w JEP 104 .
Od 2017 roku JSR 305 (nowe adnotacje) nadal ma oficjalny status „Uśpiony”. Pytanie o jego statusie w grupie Google został bez odpowiedzi od 2010 roku.
Znajduje się tutaj przykładowa implementacja adnotacji JSR-305 , która jest używana w wielu projektach, w tym w guawie. Dzięki maven możesz użyć implementacji referencyjnej JSR-305, dodając do swojego pom:
źródło
findbugs-maven-plugin
(fromorg.codehaus.mojo
), aby zsynchronizować obie.JSR 305 nie będzie częścią Java 8:
źródło
Java 8 jest opisana przez JSR 337: specyfikacja osiągnęła stan końcowy: patrz tutaj .
źródło
Według bloga Alexa Millersa Java 7 , JSR-308 (i 305) mają przejść do Java 7. Być może pojawi się tutaj i poda więcej informacji.
źródło