2013-08-06 7 views
17

मैंने हाल ही में अपने जावा/स्प्रिंग-एमवीसी प्रोजेक्ट में कोबर्टूरा प्लगइन जोड़ा।मैवेन के माध्यम से गुजरने वाले यूनिट परीक्षण, लेकिन कोबर्टुरा के माध्यम से विफल: "शाखा लक्ष्य 65 पर एक स्टैकमैप फ्रेम की अपेक्षा करना"

Expecting a stackmap frame at branch target 65 in method xxx.xxxx.xxxx.xxxx;)V at offset 40 

: अजीब बात यह है कि मेरे सभी इकाई परीक्षण गुजर रहे थे, और वे अभी भी पारित जब Maven अपनी प्रारंभिक परीक्षण चालन करता है, लेकिन उसके बाद Cobertura परीक्षण चलाने के लिए प्रयास करते हैं, वे सभी एक ही त्रुटि संदेश के साथ असफल है मुझे नहीं पता कि यह क्यों हो रहा है और यह भी नहीं पता कि इसे ठीक करने के बारे में कैसे जाना है। मैंने इंटरनेट की खोज की है लेकिन मुझे कोई भी ऐसी समस्या नहीं मिली है। मैं परीक्षण के लिए जुनीट और स्प्रिंग-टेस्ट-एमवीसी का उपयोग करता हूं।

क्या किसी ने इसे पहले देखा है?

+0

यह बहुत इसी तरह के सवाल इतने पर तैनात साथ, एक आम समस्या हो रहा है। मैंने संकल्प को हमारी समस्या के साथ हल किया था: http://stackoverflow.com/a/20001391/1279002 – theINtoy

+1

मैं cobertura-maven-plugin संस्करण 2.4 का उपयोग करते समय एक ही समस्या से मुलाकात की। जब मैंने cobertura-maven-plugin को संस्करण 2.7 में अपग्रेड किया, तो यह दोनों JDK_1.7.0_79 और JDK_1.8.0_45 दोनों के लिए काम किया। – user2432405

उत्तर

19

बेशक मैं सवाल पूछने के बाद जवाब सही लगता है, भले ही मैं के लिए काफी कुछ समय से पहले ...

समस्या Cobertura जावा 1.7 के साथ काम करने में परेशानी है कि खोज की। आपको निम्न पंक्ति को अपने pom.xml में जोड़ना होगा:

<argLine>-XX:-UseSplitVerifier</argLine> 

यह कॉन्फ़िगरेशन तत्व में जाता है। यहां संपूर्ण कोबर्टुरा अनुभाग है:

 <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <argLine>-XX:-UseSplitVerifier</argLine> 
       <formats> 
        <format>xml</format> 
       </formats> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>test</phase> 
        <goals> 
         <goal>cobertura</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

अब सब कुछ अपेक्षित काम करता है।

+0

फिर कृपया मेरे प्रश्न को ऊपर उठाएं। :-) – Jagger

+6

कोबर्टुरा 2.6 भी इसे ठीक करता है। –

3

नई प्लगइन का उपयोग करके फिक्स्ड

    <plugin> 
         <groupId>org.codehaus.mojo</groupId> 
         <artifactId>cobertura-maven-plugin</artifactId> 
         <version>2.7</version> 
         <configuration> 
          <formats> 
           <format>xml</format> 
          </formats> 
         </configuration> 
         <executions> 
          <execution> 
           <phase>package</phase> 
           <goals> 
            <goal>cobertura</goal> 
           </goals> 
          </execution> 
         </executions> 
        </plugin> 
+0

हाँ! मैंने कोशिश की - -नोवरिफाइज़ की कोशिश की- -XX: -UseSplitVerifier और कोई भाग्य नहीं था। मैं जावा 1.8 का उपयोग कर रहा हूं और यह मेरे लिए काम करता है। इस पर 4 घंटे बिताए! उम्मीद है कि एक ही मुद्दे के साथ अन्य लोग इस जवाब में आते हैं – Mason

संबंधित मुद्दे