2010-02-18 9 views
69

Widziałem pytanie JSR305 vs. JSR308 (Java Type Anotations) - Which is going to be the standard? i rozumiem różnicę między JSR 308 i JSR 305.Jaki jest status JSR 305?

Rozumiem też, że w tym czasie 308 trafi do Java 7 i 305 nie jest, a ja jestem ciekaw ogólnego stanu 305.

Zwłaszcza Używam Google Collections i JSR-305 w niektórych z moich projektów (w sposób podobny do tego, co one of the Guice best practices advocates) i zastanawiałem się, czy istnieje bardziej "przyjazne podejście", które powinienem stosować zamiast tego. Planuję również zapytać o to w grupie JSR-305, ale ta grupa nie ma dużej aktywności i zastanawiałem się, czy ktoś tu nie ma więcej informacji.

+1

chciałbym przyjąć odpowiedź Zostawiłeś Kevina, ale nie mogę znaleźć miejsce w tych artykułach, w których mówi ostatecznie będą one być w Javie 7, czy nie? (I krótko przejrzałem te informacje przed opublikowaniem pytania.) Czy widziałaś tam konkretną wzmiankę, że * zostaną * uwzględnione (jak wskazano w Twojej odpowiedzi)? Z góry dziękuje za twoją pomoc. –

+1

Po tak długim czasie i kilku innych wysiłkach, aby dowiedzieć się dokładnie o co chodzi, przyznam najlepszą odpowiedź, jedyną odpowiedź, wyróżnienie "odpowiedź". ;) –

+0

Java 9: ​​https://stackoverflow.com/questions/37598775/jsr-305-annotations-replacement- for-java-9 –

Odpowiedz

41

Jak opisano w tym answer, JSR-305 proponuje nowe adnotacje, takie jak @NonNull, natomiast JSR-308 proponuje pozwalające adnotacji w nowych miejscach, takich jak na ogólnych deklaracji.

Cytowanie JSR 308 strony:

... Ten dokument nie proponuje żadnych adnotacji, podając jedynie, gdzie mogą pojawić się w kodzie Java.

JSR 308 (adnotacje w nowych miejscach) jest zawarty w java 8 pod JEP 104.

Od 2017 roku, JSR 305 (nowe adnotacje) nadal nosi oficjalny status "Uśpiony". question o jego status w grupie Google został bez odpowiedzi od roku 2010.

istnieje implementacja referencyjna JSR-305 adnotacji here który jest używany przez wiele projektów, w tym guawa. Z Maven można użyć realizację odniesienia JSR-305, dodając to do pom,

<dependency> 
    <groupId>com.google.code.findbugs</groupId> 
    <artifactId>jsr305</artifactId> 
    <version>3.0.0</version> 
</dependency> 
+1

link do [com.google.code.findbugs: jsr305 on maven central] (http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.google.code.findbugs%22%20AND % 20a% 3A% 22jsr305% 22) (najnowsza wersja to teraz 3.0.0) –

+0

Możesz użyć tej samej wersji, co w 'findbugs-maven-plugin' (z' org.codehaus.mojo'), aby zsynchronizować oba. –

+1

Java 9 jest kompletna, ale nie została wydana i wygląda na to, że JSR-305 nie jest dołączony. Czy był inny JSR, który dodał podobne adnotacje? – dlamblin

1

Według Alexa Millersa Java 7 blog, JSR-308 (i 305) mają wejść do Javy 7. Może pojawi się on tutaj i da więcej informacji.

+47

Żadna z nich nie została napisana w języku Java 7. – Miles

+6

JSR308 będzie w języku Java 8, ale (Mar 2013) JSR 305 jest nadal uśpiony. –

5

Java 8 jest opisana przez JSR 337: specyfikacja osiągnęła status końcowy: see here.

  • JSR 308 jest zdecydowanie w
  • JSR 305 jest zdecydowanie się
Powiązane problemy