JSR 305'in durumu nedir?


101

JSR305 ve JSR308 (Java Tipi Açıklamalar) sorusunu gördüm - Hangisi standart olacak? JSR 308 ile JSR 305 arasındaki farkı anlıyorum .

Ayrıca şu anda 308'in Java 7 için planlandığını ve 305'in olmadığını anlıyorum ve 305'in genel durumunu merak ediyorum.

Spesifik olarak, bazı projelerimde ( Guice en iyi uygulamalarından birinin savunduğuna benzer bir şekilde) Google Koleksiyonları ve JSR-305'i kullanıyorum ve kullanmam gereken daha "geleceğe yönelik" dostu bir yaklaşım olup olmadığını merak ediyordum yerine. Bunu JSR-305 grubuna da sormayı planlıyorum, ancak bu grup çok fazla faaliyeti yok ve burada herhangi birinin daha fazla bilgisi olup olmadığını merak ediyordum.


1
Kevin'e bıraktığınız cevabı kabul ederdim, ancak bu makalelerde Java 7'de olacakları kesin olarak yazdığı bir yer bulamıyorum? (Ve soruyu gerçekten göndermeden önce bu bilgiyi kısaca gözden geçirmiştim.) Burada bunların dahil edileceğine dair belirli bir söz gördünüz mü (cevabınızda belirtildiği gibi)? Yardımın için şimdiden teşekkür ederim.
Charlie Collins

1
Bu kadar zamanın ardından ve tam olarak ne olduğunu anlamaya yönelik başka çabalardan sonra, en iyi yanıtı, tek yanıtı, "yanıt" ayrımını ödüllendiriyorum. ;)
Charlie Collins


Mark Reinhold kısa süre önce başka bir SO gönderisine "javax.annotation.NonNull standardını standartlaştıracak olan JSR 305, spesifikasyon lideri AWOL gittiğinden asla tamamlanmadı" yorumunu yaptı.
Akış

Yanıtlar:


67

Bu yanıtta açıklandığı gibi , JSR-305 @NonNull gibi yeni açıklamalar önerirken , JSR-308 genel bildirimler gibi yeni yerlerde ek açıklamalara izin verilmesini önerir.

JSR 308 sayfasından alıntı yapmak :

... bu belge herhangi bir ek açıklama önermemektedir, yalnızca bunların Java kodunda nerede görünebileceklerini belirtmektedir.

JSR 308 (yeni yerlerdeki açıklamalar), JEP 104 kapsamında java 8'e dahil edilmiştir .

2017 itibariyle, JSR 305 (yeni ek açıklamalar) "Hareketsiz" resmi durumunu taşımaya devam etmektedir. Google grubundaki durumuyla ilgili bir soru 2010'dan beri cevapsız.

JSR-305 ek not referans uygulaması vardır burada guava gibi birçok projeleri tarafından kullanılır. Maven ile JSR-305 referans uygulamasını pom'nuza ekleyerek kullanabilirsiniz:

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


Her ikisini de senkronize etmek için findbugs-maven-plugin(kimden org.codehaus.mojo) ile aynı sürümü kullanabilirsiniz .
Christophe Roussy

2
Java 9 özelliği tamamlandı ancak piyasaya sürülmedi ve JSR-305 dahil edilmemiş gibi görünüyor. Benzer açıklamalar ekleyen başka bir JSR var mıydı?
dlamblin


9

Java 8, JSR 337 tarafından açıklanmıştır: belirtim Nihai duruma ulaştı: buraya bakın .

  • JSR 308 kesinlikle
  • JSR 305 kesinlikle çıktı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.