maven-compiler-plugin исключить - PullRequest
14 голосов
/ 12 июня 2010

У меня следующая проблема.Я хотел бы исключить некоторые файлы .java (** / jsfunit / *. Java) во время фазы тест-компиляции, а с другой стороны, я хотел бы включить их во время фазы компиляции (я запускаю tomcat с tomcat: run goal)

My 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>

Но это не работает: исключение при выполнении default-testCompile не фильтрует эти классы.Если я уберу комментарии, то все классы, соответствующие ** / jsfunit / *. Java, будут скомпилированы, но только если я коснусь их!

1 Ответ

30 голосов
/ 07 сентября 2010

Чтобы исключить файлы из фазы 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...