2010-06-12 14 views
14

को छोड़कर मुझे एक समस्या है। मैं परीक्षण-संकलन चरण के दौरान कुछ .java फ़ाइलों (**/jsfunit/*। जावा) को बाहर करना चाहता हूं और दूसरी तरफ मैं संकलन चरण के दौरान उन्हें शामिल करना चाहता हूं (आईडी मैं टॉमकैट के साथ टोमकैट शुरू करता हूं: रन लक्ष्य)मेवेन-कंपाइलर-प्लगइन

मेरे pom.xml

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <!-- <excludes> 
        <exclude>**/*JSFIntegration*.java</exclude> 
       </excludes> -->      
      </configuration> 
      <executions> 
      <!-- <execution> 
         <id>default-compile</id> 
         <phase>compile</phase> 
         <goals> 
          <goal>compile</goal> 
         </goals> 
         <configuration> 
          <includes> 
           <include>**/jsfunit/*.java</include> 
          </includes> 
         </configuration> 
       </execution>--> 
       <execution> 
         <id>default-testCompile</id> 
         <phase>test-compile</phase> 
         <configuration> 
          <excludes> 
           <exclude>**/jsfunit/*.java</exclude> 
          </excludes> 
         </configuration> 
         <goals> 

       <goal>testCompile</goal> 
         </goals> 
       </execution>     
      </executions> 

     </plugin> 

लेकिन यह काम नहीं करता है: डिफ़ॉल्ट-testCompile निष्पादन में बाहर निकालने के इन कक्षाओं फ़िल्टर नहीं करती। यदि मैं टिप्पणियों को हटा देता हूं तो **/jsfunit/* से मेल खाने वाले सभी वर्गों को संकलित किया जाएगा, लेकिन केवल तभी मैं उन्हें छूंगा!

+0

jsfunit फ़ाइलों ('$ {basedir}' के सापेक्ष) के लिए सही पथ क्या है? –

+0

src/main/java/de/hska/repo/ui/jsfunit – easyrider

+1

मुझे समझ में नहीं आता है। 'कंपाइलर: testCompile' * अनुप्रयोग परीक्षण स्रोत संकलित करता है * (यानी 'src/test/main' के अंतर्गत परीक्षण स्रोत) ताकि बाहर करने के लिए कुछ भी नहीं है। वास्तव में समस्या क्या है? आप क्या हल करने की कोशिश कर रहे हैं? –

उत्तर

29

डिफ़ॉल्ट-परीक्षण कॉम्पाइल चरण से फ़ाइलों को बाहर करने के लिए, आपको <testExcludes> का उपयोग करना होगा। तो उपर्युक्त आपका उदाहरण इस तरह दिखेगा:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
    <source>1.6</source> 
    <target>1.6</target> 
    </configuration> 
    <executions> 
    <execution> 
     <id>default-testCompile</id> 
     <phase>test-compile</phase> 
     <configuration> 
     <testExcludes> 
      <exclude>**/jsfunit/*.java</exclude> 
     </testExcludes> 
     </configuration> 
     <goals> 
     <goal>testCompile</goal> 
     </goals> 
    </execution>     
    </executions> 
</plugin>