Maven-compiler-plugin исключить
У меня есть следующая проблема.
Я хотел бы исключить некоторые .java файлы (**/jsfunit/*. Java) во время фазы тестовой компиляции, а с другой стороны я хотел бы включить их во время фазы компиляции (id я start tomcat with tomcat: запустить цель )
Мой 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>
Но это не работает: exclude in default-testCompile не фильтрует эти классы.
Если я удалю комментарии, тогда все классы будут сопоставлены **/jsfunit/*. Java будет скомпилирован, но только если я коснусь их!
Ответы
Ответ 1
Чтобы исключить файлы из фазы 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>