2013-09-27 8 views
10

मेरे पास जावा स्रोतों और स्कैला परीक्षण स्रोतों के साथ एक मेवेन प्रोजेक्ट है। मैं verify चरण के दौरान Jacoco का उपयोग करके कोड कवरेज उत्पन्न करता हूं। जब मैं एक निष्पादन जोड़कर सोनार लक्ष्य या तो सत्यापित करने के चरण के दौरान चलाने के लिए प्रयास करें, या mvn verify sonar:sonar चलाकर, मैं परीक्षण निर्देशिका के साथ खत्म सोनार द्वारा दो बार जोड़ा जा रहा है:सोनार मेवेन प्लगइन: मैं परीक्षण स्रोत निर्देशिका कैसे बहिष्कृत करूं?

[INFO] [11:15:34.756] Test directories: 
    [INFO] [11:15:34.756] /Users/xxx/Documents/workspace/misc/xxx/src/test/scala 
    [INFO] [11:15:34.756] /Users/xxx/Documents/workspace/misc/xxx/src/test/scala/../scala 

जो विश्लेषण के साथ नाकाम रहने में जो परिणाम निम्न त्रुटि:

Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project kv-mapper: Can not execute SonarQube analysis: Unable to read and import the source file : '/Users/xxxx/Documents/workspace/misc/xxx/src/test/scala/../scala/xxx/xxxxx/xxx/xxx/xxxxx/xxxxxx.java' with the charset : 'UTF-8'. Duplicate source for resource 

मेरा pom.xml (सोनार के लिए) इस तरह दिखता है।

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>sonar-maven-plugin</artifactId> 
     <version>${sonar.plugin.version}</version> 
     <!-- no default executions --> 
     <configuration> 
      <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> 
      <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> 
      <sonar.language>java</sonar.language> 
      <sonar.jacoco.itReportPath> 
       ${basedir}/target/jacoco.exec 
      </sonar.jacoco.itReportPath> 
      <sonar.exclusions> 
       **/test/* 
      </sonar.exclusions> 
     </configuration> 
    </plugin> 

मैं कैसे कॉन्फ़िगर करूँ सोनार के लिए या तो:

  • पूरी तरह से बाहर परीक्षा/स्केला निर्देशिका? या
  • डुप्लिकेट निर्देशिका को हटाएं?

उत्तर

3

या तो सोनारक्यूब विश्लेषण चलाने से पहले फ़ोल्डर को हटाने के लिए एक चरण जोड़ें। या परीक्षण फ़ाइलों पर बहिष्करण सेट करें। देखें

+0

के बजाय इस्तेमाल किया जाना चाहिए है कि मैं (ऊपर देखें) pom.xml में वास्तव में क्या किया था sonar.exclusions पैरामीटर के साथ। क्या आपके पास एक नमूना पोम है जिसे मैं देख सकता हूं? – Siddhu

+1

आपको परीक्षण फ़ाइलों (स्रोत कोड पर नहीं) पर बहिष्करण सेट करना होगा: sonar.tests.exclusions प्रॉपर्टी –

14

sonar.test.exclusions sonar.exclusions

<sonar.test.exclusions> 
    **/test/* 
</sonar.test.exclusions> 
+2

वास्तव में एक लिंक के बजाय उत्तर पोस्ट करने के लिए धन्यवाद। – JamesQMurphy

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