2010-06-12 122 views
14

我有以下問題。 我希望在測試編譯階段排除一些.java文件(**/jsfunit/*。java),另一方面我希望在編譯階段包含它們(我使用tomcat啓動tomcat:run目標)maven-compiler-plugin排除

我的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/*。java的類將被編譯,但只有當我觸摸它們!

+0

jsfunit文件的確切路徑是什麼(相對於'$ {basedir}')? – 2010-06-12 12:13:50

+0

src/main/java/de/hska/repo/ui/jsfunit – easyrider 2010-06-12 12:15:11

+1

我不明白。 'compiler:testCompile' *編譯應用程序測試源*(即'src/test/main'下的測試源),所以沒有什麼可排除的。究竟是什麼問題?你想要解決什麼問題? – 2010-06-12 12:51:22

回答

29

要從default-testcompile階段排除文件,必須使用<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>