He visto la pregunta JSR305 vs. JSR308 (Anotaciones de tipo Java): ¿Cuál será el estándar? y entiendo la diferencia entre JSR 308 y JSR 305 .
También entiendo que, en este momento, 308 está programado para Java 7 y 305 no, y tengo curiosidad sobre el estado general de 305.
Específicamente, estoy usando Google Collections y JSR-305 en algunos de mis proyectos (de manera similar a lo que defiende una de las mejores prácticas de Guice ) y me preguntaba si hay un enfoque más amigable con la "dirección futura" que debería usar. en lugar. También planeo preguntar sobre esto en el grupo JSR-305, pero ese grupo no tiene mucha actividad y me preguntaba si alguien aquí tenía más información.
Respuestas:
Como se describe en esta respuesta , JSR-305 propone nuevas anotaciones como @NonNull , mientras que JSR-308 propone permitir anotaciones en nuevos lugares, como en declaraciones genéricas.
Citando la página JSR 308 :
JSR 308 (anotaciones en lugares nuevos) se incluye en java 8 bajo JEP 104 .
A partir de 2017, JSR 305 (nuevas anotaciones) sigue teniendo el estado oficial de "inactivo". Una pregunta sobre su estado en el grupo de Google no ha recibido respuesta desde 2010.
Hay una implementación de referencia de los JSR-305 anotaciones aquí que es utilizado por muchos proyectos, incluyendo guayaba. Con maven puede usar la implementación de referencia JSR-305 agregando esto a su pom:
fuente
findbugs-maven-plugin
(desdeorg.codehaus.mojo
) para sincronizar ambos.JSR 305 no formará parte de Java 8:
fuente
Java 8 está descrito por JSR 337: la especificación ha alcanzado el estado final: consulte aquí .
fuente
Según el blog de Alex Millers sobre Java 7 , JSR-308 (y 305) están programados para entrar en Java 7. Quizás aparezca aquí y le dé más información.
fuente