JSR 305 की स्थिति क्या है?


101

मैंने प्रश्न JSR305 बनाम JSR308 (जावा टाइप एनोटेशन) देखा है - जो मानक होने जा रहा है? और मैं जेएसआर 308 और जेएसआर 305 के बीच अंतर को समझता हूं ।

मैं यह भी समझता हूं कि, इस समय, जावा 7 के लिए 308 को स्लेट किया गया है, और 305 नहीं है, और मैं 305 की समग्र स्थिति के बारे में उत्सुक हूं।

विशेष रूप से, मैं अपनी कुछ परियोजनाओं में Google संग्रह और JSR-305 का उपयोग कर रहा हूं (एक समान तरीके से जो सबसे अच्छे तरीके से अधिवक्ताओं में से एक है ) और सोच रहा था कि क्या अधिक "भविष्य की दिशा" -प्रत्यक्ष दृष्टिकोण का उपयोग करना चाहिए? बजाय। मैं JSR-305 समूह पर इस बारे में भी पूछने की योजना बना रहा हूं, लेकिन उस समूह के पास बहुत अधिक गतिविधि नहीं है और मैं बस सोच रहा था कि क्या यहां किसी के पास कोई और जानकारी थी।


1
मैं आपके द्वारा केविन को छोड़ दिए गए उत्तर को स्वीकार करूंगा, लेकिन मुझे उन लेखों में जगह नहीं मिल सकती है जहां यह कहता है कि वे निश्चित रूप से जावा 7 में होंगे या नहीं? (और मैंने उस जानकारी की समीक्षा की थी, संक्षेप में, प्रश्न को वास्तव में पोस्ट करने से पहले।) क्या आपने वहाँ एक विशिष्ट उल्लेख देखा है कि उन्हें शामिल किया जाएगा (जैसा कि आपके उत्तर में इंगित किया गया है)? आपकी सहायता के लिये पहले से ही धन्यवाद।
चार्ली कोलिन्स

1
इस समय के बाद, और कुछ अन्य प्रयासों में यह पता लगाने की कोशिश की जा रही है कि मैं सर्वश्रेष्ठ उत्तर, एकमात्र उत्तर, "उत्तर" भेद प्रदान कर रहा हूं। ;)
चार्ली कोलिन्स


मार्क रेनहोल्ड ने हाल ही में एक और एसओ पोस्ट पर टिप्पणी की कि "JSR 305, जिसने javax.annotation.NonNull को मानकीकृत किया होगा, कभी पूरा नहीं हुआ क्योंकि इसकी विशेष लीड AWOL थी।"
फ्लो

जवाबों:


67

जैसा कि इस उत्तर में वर्णित है , JSR-305 नए नोटों का प्रस्ताव करता है जैसे @NonNull , जबकि JSR-308 नए स्थानों में एनोटेशन की अनुमति देने का प्रस्ताव करता है जैसे कि सामान्य घोषणाएँ।

जेएसआर 308 पृष्ठ उद्धृत करते हुए :

... यह दस्तावेज़ किसी भी एनोटेशन का प्रस्ताव नहीं करता है, केवल यह निर्दिष्ट करता है कि वे जावा कोड में कहां दिखाई दे सकते हैं।

JSR 308 को JEP 104 के तहत java 8 में शामिल किया गया है ।

2017 तक, जेएसआर 305 (नए एनोटेशन) "निष्क्रिय" की आधिकारिक स्थिति को जारी रखने के लिए जारी है। Google समूह में इसकी स्थिति के बारे में एक प्रश्न 2010 से अनुत्तरित है।

वहाँ JSR-305 एनोटेशन की एक संदर्भ कार्यान्वयन है यहाँ जो अमरूद सहित कई परियोजनाओं, द्वारा किया जाता है। मावेन के साथ आप अपने pom में जोड़कर JSR-305 संदर्भ कार्यान्वयन का उपयोग कर सकते हैं:

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

2
com.google.code.findbugs का लिंक : javr305 maven Central पर (नवीनतम संस्करण अब 3.0.0 है)
पाओलो फुलगोनी

आप दोनों को सिंक करने के लिए findbugs-maven-plugin(से org.codehaus.mojo) के लिए एक ही संस्करण का उपयोग कर सकते हैं ।
क्रिस्टोफ़ रूसो

2
Java 9 फीचर पूर्ण है, लेकिन रिलीज़ नहीं किया गया है, और ऐसा लगता है जैसे JSR-305 शामिल नहीं है। क्या एक और JSR था जिसने समान एनोटेशन जोड़े हैं?
dlamblin


9

जावा 8 का वर्णन जेएसआर 337 द्वारा किया गया है: विनिर्देश अंतिम स्थिति में पहुंच गया है: यहां देखें

  • JSR 308 निश्चित रूप से है
  • JSR 305 निश्चित रूप से बाहर है

1

एलेक्स मिलर्स जावा 7 ब्लॉग के अनुसार , जेएसआर -308 (और 305) जावा 7 में जाने के लिए निर्धारित हैं। शायद वह यहां दिखाएंगे और आपको अधिक जानकारी देंगे।


51
न ही इसे जावा 7. में बनाया
मीलों

7
JSR308 जावा 8 में होगा, लेकिन (मार्च 2013) JSR 305 अभी भी निष्क्रिय है।
मौरिस नाफ्टलिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.