मेरे पास जावा स्रोतों और स्कैला परीक्षण स्रोतों के साथ एक मेवेन प्रोजेक्ट है। मैं 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>
मैं कैसे कॉन्फ़िगर करूँ सोनार के लिए या तो:
- पूरी तरह से बाहर परीक्षा/स्केला निर्देशिका? या
- डुप्लिकेट निर्देशिका को हटाएं?
के बजाय इस्तेमाल किया जाना चाहिए है कि मैं (ऊपर देखें) pom.xml में वास्तव में क्या किया था sonar.exclusions पैरामीटर के साथ। क्या आपके पास एक नमूना पोम है जिसे मैं देख सकता हूं? – Siddhu
आपको परीक्षण फ़ाइलों (स्रोत कोड पर नहीं) पर बहिष्करण सेट करना होगा: sonar.tests.exclusions प्रॉपर्टी –