Eu vi a pergunta JSR305 vs. JSR308 (Java Type Anotations) - Qual será o padrão? e eu entendo a diferença entre JSR 308 e JSR 305 .
Eu também entendo que, neste momento, 308 está programado para Java 7 e 305 não, e estou curioso sobre o status geral do 305.
Especificamente, estou usando o Google Collections e o JSR-305 em alguns dos meus projetos (de maneira semelhante ao que um dos defensores das práticas recomendadas do Guice ) e queria saber se há uma abordagem mais amigável para "direção futura" que eu deveria usar em vez de. Também estou planejando perguntar sobre isso no grupo JSR-305, mas esse grupo não tem muita atividade e eu queria saber se alguém aqui tem mais informações.
Respostas:
Conforme descrito nesta resposta , JSR-305 propõe novas anotações como @NonNull , enquanto JSR-308 propõe permitir anotações em novos lugares, como em declarações genéricas.
Citando a página JSR 308 :
JSR 308 (anotações em novos lugares) está incluído no java 8 em JEP 104 .
A partir de 2017, a JSR 305 (novas anotações) continua com o status oficial de “Inativo”. Uma pergunta sobre seu status no grupo do google não tem resposta desde 2010.
Há uma implementação de referência das anotações JSR-305 aqui, que é usada por muitos projetos, incluindo goiaba. Com o maven, você pode usar a implementação de referência JSR-305 adicionando ao seu pom:
fonte
findbugs-maven-plugin
(deorg.codehaus.mojo
) para sincronizar ambos.JSR 305 não fará parte do Java 8:
fonte
Java 8 é descrito por JSR 337: a especificação atingiu o status Final: veja aqui .
fonte
De acordo com o blog Alex Millers Java 7 , JSR-308 (e 305) estão programados para ir para o Java 7. Talvez ele apareça aqui e lhe dê mais informações.
fonte