2012-12-30 38 views
6

मैवेन 3 का उपयोग कर रहा हूं और मेरे जावा प्रोजेक्ट में, पोम फ़ाइल में निम्नानुसार एक स्रोत स्थान है।सोनार सर्वर में एकाधिक स्रोत स्थानों को कैसे सेट करें?

<build> 
     <sourceDirectory>src/main/java</sourceDirectory> 
     <testSourceDirectory>src/test/java</testSourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>${JDK}</source> 
        <target>${JDK}</target> 
        <excludes> 
         <!--<exclude>**/**/api/notification/**/INotificationProfileManager.java</exclude> --> 
        </excludes> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-ejb-plugin</artifactId> 
       <configuration> 
        <version>1.3</version> 
        <archive> 
         <manifest> 
          <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> 
          <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
         </manifest> 
         <manifestEntries> 
          <Class-Path>./MubarsherTradeClasspath-1.0.jar</Class-Path> 
          <Specification-Vendor>Mubasher</Specification-Vendor> 
          <Implementation-Vendor>Mubasher</Implementation-Vendor> 
          <Sealed>false</Sealed> 
         </manifestEntries> 
        </archive> 
       </configuration> 
      </plugin> 

संकलन के बाद, उत्पन्न फ़ाइलों .../generate/src/main/java/... पथ में स्थित हैं। जब सोनार विश्लेषण किया जाता है, तो यह इन जेनरेट किए गए वर्गों की जांच करता है जिनके पास ../src/main/java/... पथ है, इसलिए विश्लेषण विफल हो जाता है।

तो मुझे सोनार से विश्लेषण करने के लिए कई स्रोत पथ परिभाषित करने की आवश्यकता है?

+0

आप भी सोनार त्रुटि स्टैक ट्रेस प्रदान कर सकता है? –

उत्तर

8

आप ऐसा करने के लिए सोनार-धावक का उपयोग कर सकते हैं। यह अधिक उपयोगी है।

आप दो मॉड्यूल घोषित कर सकते हैं। स्रोत निर्देशिका द्वारा एक। फिर आपको गुण फ़ाइल घोषित करके निष्पादन को कॉन्फ़िगर करना होगा।

इस फ़ाइल में इस

sonar.projectKey=myproject 
sonar.projectName=myprojectname 
sonar.projectVersion=version 
sonar.sourceEncoding=UTF-8 


sonar.modules=normalsource-module, generated-module 


normalsource-module.sonar.projectName=Normal Sources Module 
normalsource-module.sonar.language=java 
normalsource-module.sonar.sources=src/main/java 
normalsource-module.sonar.binaries=target/classes 
normalsource-module.sonar.projectBaseDir=. 


generated-module.sonar.projectName=Generated Sources Module (Java) 
generated-module.sonar.language=java 
generated-module.sonar.sources=src/main/java 
generated-module.sonar.binaries=target/classes 
generated-module.sonar.projectBaseDir=. 

आशा इस मदद करता है की तरह दिखना चाहिए

सादर

+1

यदि आप 50+ मॉड्यूल के साथ किसी प्रोजेक्ट का विश्लेषण करने का प्रयास करते हैं तो यह एक अच्छा तरीका नहीं है। क्या मैवेन मल्टी-मॉड्यूल प्रोजेक्ट में स्रोत फ़ोल्डर्स जोड़ने के लिए कोई सामान्य दृष्टिकोण है? मैं सोनार-स्कैनर के बजाय मेवेन-स्कैनर का उपयोग करना चाहता हूं। – MKorsch

+0

इस पर कोई सुधार? मेरे साथ भी वही दिक्कत है – paul