2013-02-12 36 views
18

मै मैवन के लिए नया हूं और अपनी परियोजनाओं के निर्माण के लिए जैकोको मेवेन प्लगइन का उपयोग करना चाहता हूं।जैकोको मेवेन प्लगइन - प्लगइन निष्पादन लाइफसाइक्ल कॉन्फ़िगरेशन द्वारा कवर नहीं किया गया

मैंने टेस्टएनजी के साथ एक उदाहरण प्रोजेक्ट स्थापित किया है जो एकमात्र निर्भरता है।

यहाँ pom.xml का हिस्सा है:

<dependencies> 
    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.8</version> 
    </dependency> 
</dependencies> 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.6.2.201302030002</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
       </execution> 
       <execution> 
        <id>report</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>report</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

और मैं इस त्रुटि मिलती है:

प्लगइन जीवन चक्र विन्यास द्वारा कवर नहीं निष्पादन: org.jacoco: jacoco-maven- प्लगइन: 0.6 .2.201302030002: तैयार एजेंट (निष्पादन: डिफ़ॉल्ट, चरण: आरंभ करें)

मैं क्या गलत कर रहा हूं? चीयर्स

उत्तर

-2

यह समस्या ग्रहण के लिए विशिष्ट है, outlined on the M2E wiki के रूप में। क्षमा करें, मैं उससे अधिक मदद नहीं कर सकता, क्योंकि मैं ग्रहण का उपयोग नहीं करता हूं।

17

आप अपने pom.xml

<pluginManagement> 
     <plugins> 
      <!--This plugin's configuration is used to store Eclipse m2e settings only. 
       It has no influence on the Maven build itself.--> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>org.jacoco</groupId> 
            <artifactId>jacoco-maven-plugin</artifactId> 
            <versionRange>[0.5,) 
            </versionRange> 
            <goals> 
             <goal>prepare-agent</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <!-- m2e doesn't know what to do with jacoco, 
             let's ignore it or annoying error markers appear 
             see http://wiki.eclipse.org/M2E_plugin_execution_not_covered 
            --> 
            <ignore></ignore> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
+0

इसे टैग – SkorpEN

12

इस रूप में ग्रहण Maven प्लगइन से संबंधित है के लिए कुछ इस तरह जोड़ने, प्लगइन लक्ष्य अनदेखा कर सकते हैं, वैकल्पिक रूप से इस ग्रहण की वरीयताओं में स्थानीय रूप से सेट किया जा सकता। प्रोजेक्ट की पोम फ़ाइल से कॉन्फ़िगरेशन को स्थानांतरित करने से कोड को सरल और साफ, आईडीई विवरण से मुक्त करने में मदद मिलती है।

ग्रहण पर जाएं -> प्राथमिकताएं -> मैवेन -> लाइफसाइक्लिंग मैपिंग्स। lifecycle-mapping-metadata.xml निम्नलिखित रूप में जोड़ें:

<?xml version="1.0" encoding="UTF-8"?> 
<lifecycleMappingMetadata> 
    <pluginExecutions> 
    <pluginExecution> 
     <pluginExecutionFilter> 
     <groupId>org.jacoco</groupId> 
     <artifactId>jacoco-maven-plugin</artifactId> 
     <versionRange>[0.5,)</versionRange> 
     <goals> 
      <goal>prepare-agent</goal> 
     </goals> 
     </pluginExecutionFilter> 
     <action> 
     <ignore /> 
     </action> 
    </pluginExecution> 
    </pluginExecutions> 
</lifecycleMappingMetadata> 

पुनः लोड जीवन चक्र मैपिंग फ़ाइल और फिर Maven ->Update Project

-1

मैं अंत में प्लगइन ध्यान न दें और कोड के साथ परीक्षण के लिए बजाय CLI mvn आदेश का उपयोग करने के लिए चुना कवरेज।

अपने ग्रहण आईडीई के अंदर, jacoco-maven-plugin के लिए लाल रंग-चिह्नित चेतावनी पर राइट क्लिक करें। आप पॉप-अप में तीन विकल्प चेतावनी ठीक करने के लिए करना चाहिए, चेतावनी को अनदेखा करने के लिए चुनते हैं, कि अपने pom.xml में एक स्वत: उत्पन्न अनुभाग, कि टिप्पणियों का एक लाइन के साथ शुरू कर दिया, एक कमांड लाइन पर

<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> 

परिणाम होगा , प्रत्येक चेकइन से पहले mvn आदेश चला, और कहा कि कवरेज के साथ परीक्षण लक्ष्य को गति प्रदान करना चाहिए,

$mvn clean package 
+0

के अंदर जोड़ें यह प्रश्न का उत्तर नहीं देता है। सवाल विशेष रूप से प्लगइन त्रुटि के बारे में है। कमांड लाइन का उपयोग करने से त्रुटि – Pat

+0

@Pat हल नहीं होती है यह प्रश्न का उत्तर देता है। यह उत्तर चेतावनी को अनदेखा करने का एक तरीका बताता है, कृपया इसे फिर से बारीकी से पढ़ें। यदि आप यहां निर्देश का पालन करते हैं, तो चेतावनियों को अनदेखा करने के लिए, आपकी पीओएम फ़ाइल को कोड अनुभाग में टिप्पणी पंक्ति के साथ अपडेट किया जाएगा।सीएलआई सिर्फ वैकल्पिक है। –

+0

मुझे अभी भी विश्वास है कि ग्रहण में प्लगइन को अनदेखा करने से समस्या हल नहीं होती है, यह केवल एक कामकाज है। ग्रहण में एक मेवेन प्लगइन का उपयोग करने का पूरा बिंदु इतना है कि मुझे कमांड लाइन पर जाना और उन 'एमवीएन' कमांड में टाइप करना नहीं है। यह कामकाज वास्तविक त्रुटि को हल नहीं करता है। – Pat

0

ग्रहण अब चेतावनी को अक्षम करें और उपयोगकर्ता वरीयताओं में उन लोगों को बचाने के लिए त्वरित सुधार प्रदान करता है (ग्रहण में -> वरीयताएँ - -> मेवेन -> लाइफसाइक्ल मैपिंग्स लाइफसाइकिल-मैपिंग-मेटाडाटा.एक्सएमएल जैसा कि @ iker-aguayo द्वारा नोट किया गया है) इसलिए आपको फ़ाइल को मैन्युअल रूप से बनाने या संपादित करने की आवश्यकता नहीं है। यह उन मामलों में उपयोगी है जहां आप पोम को अपडेट नहीं कर सकते हैं (जैसे ओपन सोर्स प्रोजेक्ट का उपयोग करना जहां आप प्रतिबद्ध नहीं हो सकते हैं।)