Domanda
Ho visto la questione JSR305 vs. JSR308 (Java Type anotations) - che sta per essere lo standard e capisco la differenza tra JSR 308 e JSR 305 .
Capisco anche che, in questo momento, 308 è previsto per Java 7, e 305 non è, e io sono curioso di sapere lo stato complessivo di 305.
In particolare, sto usando Google Collezioni e JSR-305 in alcuni dei miei progetti (in modo simile a quello che una delle migliori pratiche Guice auspica ) e si chiedeva se v'è una più 'futura direzione' approccio -friendly dovrei essere utilizzando invece. Ho intenzione di chiedere anche di questo sul gruppo JSR-305, ma che gruppo non ha molta attività e mi stavo chiedendo se qualcuno qui avesse più informazioni.
Soluzione
Come descritto in questo risposta , JSR-305 propone nuove annotazioni come @NonNull , mentre JSR-308 propone permettendo annotazioni nuova luoghi come sulle dichiarazioni generiche.
... questo documento non propone alcuna annotazioni, semplicemente specificando dove possono apparire in codice Java.
JSR 308 (annotazioni in posti nuovi) è incluso nel Java 8 sotto PEC 104 .
A partire dal 2017, JSR 305 (nuove annotazioni) continua a svolgere ufficiale lo status di “in sospeso”. Una domanda su di esso è stato nel gruppo Google è stato senza risposta dal 2010.
C'è un'implementazione di riferimento di JSR-305 annotazioni qui che è usato da molti progetti, tra cui guava. Con Maven è possibile utilizzare l'implementazione di riferimento JSR-305 con l'aggiunta di questo alla vostra pom,
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
Altri suggerimenti
JSR 305 non farà parte di Java 8:
Java 8 è descritto da JSR 337: le specifiche ha raggiunto lo status finale: Vedi qui .
- JSR 308 è sicuramente in
- JSR 305 è definitivamente fuori
Secondo Alex Millers Java 7 blog , JSR-308 (e 305) sono in programma per andare a Java 7. Forse apparirà qui e darvi ulteriori informazioni.