मैं निम्नलिखित स्केला फ़ाइल है:स्कैला में अमरूद का उपयोग करने के लिए मुझे jsr305 की आवश्यकता क्यों है?
object SGuavaTryout {
com.google.common.cache.CacheBuilder.newBuilder()
}
मैं classpath में अमरूद-11.0.2.jar साथ संकलन। मेरे स्केला 2.9.1 संकलक (दोनों ग्रहण प्लगइन और सादे scalac) की शिकायत है:
error while loading CacheBuilder, Missing dependency
'class javax.annotation.CheckReturnValue', required by
D:\devel\eclipse-workspace\Scala Spielwiese\guava-11.0.2.jar
(com/google/common/cache/CacheBuilder.class)
संकलन करने के लिए, मैं निर्माण पथ के लिए JSR305 (jsr305-1.3.9.jar) जोड़ने की जरूरत है। जावा बराबर JSR305 बिना ठीक संकलित:
public class JGuavaTryout {
public void tryout() {
com.google.common.cache.CacheBuilder.newBuilder();
}
}
कोई भी विचार क्यों स्केला JSR305 की आवश्यकता है? क्या अमरूद के साथ उपयोग करने के लिए कोई आधिकारिक jsr305 कार्यान्वयन है?
धन्यवाद! - जॉर्ज
जावा कंपाइलर विशेष रूप से एनोटेशन प्रकारों की परवाह नहीं करता है, लेकिन मुझे लगता है कि अन्य सभी प्रकारों को उपलब्ध होने की आवश्यकता है। –
स्कैला 2.11.1 और ऊपर अब लापता एनोटेशन को गर्व से संभालते हैं; अब आपको कक्षापथ पर jsr305 की आवश्यकता नहीं है। – retronym