eclipse - Java 7 के साथ जावा और जेनेट के साथ java.lang.VerifyError और अवैध स्थानीय चर त्रुटियाँ उत्पन्न होती हैं




ant java-7 emma (3)

इसलिए मुझे ये त्रुटियां मिल रही हैं I

[जनीट] विधि में अवैध स्थानीय चर तालिका लंबाई 17. test.nz.ac.massey.cs.sdc.log4jassignment.s06005586.AppenderLayoutTest। () वी

[जनीट] java.lang.VerifyError: विधि परीक्षण में शाखा लक्ष्य 11 पर एक स्टैकमैप फ़्रेम की अपेक्षा करना। nz.ac.massey.cs.sdc.log4jassignment.s06005586.StressTest। () ऑफसेट 4 पर V

[जनीट] java.lang.ClassFormatError: विधि में अवैध स्थानीय चर तालिका लंबाई 17. test.nz.ac.massey.cs.sdc.log4jassignment.s06005586.AppenderLayoutTest। () वी

और मैं जानना चाहूंगा कि मैं इसे कैसे ठीक कर सकता हूं ...

मैंने क्या पढ़ा है:

मैंने क्या किया:

संसाधन:

कुछ वास्तव में पागल कारणों के लिए target="emmatest" target="test" पर गुजरता है, लेकिन target="emmatest" पर विफल रहता है।

यह java -version से कमांड प्रॉम्प्ट पर आउटपुट है

java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

मैंने अपने java7 JRE -XX:-UseSplitVerifier से -XX:-UseSplitVerifier लिए डिफ़ॉल्ट तर्क सेट करने की कोशिश की है -XX:-UseSplitVerifier से -XX:-UseSplitVerifier

तर्क http://iforce.co.nz/i/dvsh1eoc.n0m.png

मैंने Project Properties पर JDK 1.6 साथ शिकायत करने की कोशिश की है।

शिकायत http://iforce.co.nz/i/4jxuj4eb.rae.png

JUnit प्रत्यक्ष परीक्षण परिणाम (ट्रेस पर कोई त्रुटि नहीं)

जूनटी http://iforce.co.nz/i/wicrvpsi.5gw.png

मैं विकल्पों में से हूं, कृपया मदद करें! :(


Answers

-XX:-UseSplitVerifier

क्या मेरे लिए काम करता है और मुझे जेआरई को 1.7 से 1.6 तक डाउनग्रेड करना नहीं था


सुनने में अजीब है।

सबसे पहले, यह देखने के लिए अपना कोड देखें कि क्या आपने जेडीके 1.7 में शुरू की गई नई व्याकरण सुविधाओं का उपयोग किया है, जैसे- try-with-resource या diamond operator

मैं इस VerifyError से पहले, कोबर्टुरा का उपयोग करते हुए मिला था। हालांकि, जब मैं -XX:-UseSplitVerifier सेट करता -XX:-UseSplitVerifier कार्य करने के लिए -XX:-UseSplitVerifier , यह हल हो गया है। मैं इसे <jvmarg> नेस्टेड तत्व को <jvmarg> कार्य के लिए निर्दिष्ट करके सेट कर दिया।

इसके अलावा, अधिकांश कवरेज लिब्स जेडीके 1.7 को बहुत ही खराब समर्थन करते हैं। हालांकि, Jacoco JDK1.7 के साथ ठीक काम करता है इसलिए मैं इसे अभी के लिए उपयोग कर रहा हूँ


लाइन नंबरों को हमेशा अपने एंड्रॉइड स्टूडियो में दिखाने के लिए, इसका पालन करें: फ़ाइल> सेटिंग्स> संपादक> सामान्य> उपस्थिति पर जाएं और फिर "लाइन नंबर दिखाएं" बॉक्स को चेक करें, खासकर यदि आप AS 2.1.1 का उपयोग कर रहे हैं। नीचे चित्र यहां ... एंड्रॉइड स्टूडियो 2.1.1 में लाइन नंबर कैसे दिखाएं







eclipse ant java-7 emma