Question
Je l'ai vu la question JSR305 vs. JSR308 (Java type anotations) - Ce qui va être la norme et je comprends la différence entre JSR 308 et JSR 305 .
Je comprends aussi que, à ce moment, 308 est prévu pour Java 7, et 305 n'est pas, et je suis curieux de connaître l'état global de 305.
Plus précisément, je suis en utilisant Google Collections et JSR-305 dans certains de mes projets (d'une manière similaire à ce que l'une des meilleures pratiques guice préconise ) et je me demandais s'il y a un plus "orientation future" approche -Friendly je devrais être en utilisant à la place. Je prévois de demander également à ce sujet sur le groupe JSR-305, mais ce groupe n'a pas beaucoup d'activité et je me demandais si quelqu'un ici avait plus d'info.
La solution
Comme décrit dans cette réponse , JSR-305 propose de nouvelles annotations tels que @NonNull , alors que JSR-308 propose d'autoriser des annotations dans les nouvelles des lieux tels que des déclarations génériques.
... ce document ne propose pas d'annotations, simplement en spécifiant où ils peuvent apparaître dans le code Java.
JSR 308 (annotations dans de nouveaux endroits) est inclus dans java 8 sous JEP 104 .
En 2017, JSR 305 (nouvelles annotations) continue de porter officiel statut de « dormantes ». Un sur son statut dans le groupe Google a été sans réponse depuis 2010.
Il y a une implémentation de référence des JSR-305 annotations ici qui est utilisé par de nombreux projets, y compris la goyave. Avec Maven, vous pouvez utiliser l'implémentation de référence JSR-305 en ajoutant ceci à votre pom,
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
Autres conseils
JSR 305 ne fera pas partie de Java 8:
- Java 8 est toujours prévue pour le 18 Mars, 2014 .
- JSR 305 reste en sommeil en date du 5 Mars, 2014 .
Java 8 est décrit par JSR 337: la spécification a atteint le statut final: voir ici .
- JSR 308 est certainement dans
- JSR 305 est définitivement
Selon Alex Millers blog de Java 7 , JSR-308 (et 305) sont prévus pour aller dans Java 7. peut-être qu'il va se présenter ici et de vous donner plus d'informations.