मुझे 7u45 से 8u20 तक खान की एक नई परियोजना के जेडीके संस्करण को स्विच करते समय मुझे एक अजीब त्रुटि आई।जावा 8 के साथ LogManager (l4j2) का उपयोग करते समय त्रुटि (java.lang.reflect.AnnotatedElement को हल नहीं किया जा सकता है)
The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files
इस कोड है:: मेरी कक्षा की शुरुआत में एक हानिरहित LogManager घोषणा निम्न त्रुटि के साथ से इनकार कर दिया जा रहा है
public class Class1 {
private static Logger log = LogManager.getLogger(Class1.class);
...
ग्रहण मुझे का निर्माण पथ कॉन्फ़िगर करने का प्रस्ताव है, लेकिन मैं नहीं है विचार क्या कॉन्फ़िगर करना है क्योंकि मुझे उस त्रुटि की अंतर्निहित समस्या नहीं है।
संस्करण 7 के साथ जेडीके का उपयोग करके, सब कुछ ठीक काम करता है।
ठीक है, तर्क लगता है। धन्यवाद! :) – Corsair
बस पूर्णता के लिए, यह तब लागू होता है जब संकलक त्रुटि में उल्लिखित वर्ग ['Map.Entry'] है (http://docs.oracle.com/javase/8/docs/api/java/util/Map .ntry.html) (जैसा कि बहुत सारे प्रश्नों में है) क्योंकि 'इंटरफ़ेस' में अब' स्थिर 'विधियां हैं ... – Holger
आपको अपना आईडीई अपडेट करने की आवश्यकता नहीं है। आप एक पुराने जेडीके/जेआरई भी स्थापित कर सकते हैं और निर्दिष्ट कर सकते हैं कि ग्रहण पुराने संस्करण (विंडो> प्राथमिकताएं> स्थापित जेआरई) का उपयोग करें। जैसे मैंने सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk1.7.0_67 \ jre निर्दिष्ट किया है और त्रुटि चली गई है। – Jim