Я не нашел, как решить проблему с помощью оверлеев. Поэтому мне пришлось использовать два плагина maven-dependency-plugin и maven-war-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>copy</id>
<phase>process-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.mygroup</groupId>
<artifactId>my_comp</artifactId>
<type>war</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/tmp</outputDirectory>
<includes>WEB-INF/folder1/folder2/file.xml</includes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-beta-1</version>
<configuration>
<webResources>
<resource>
<directory>${project.build.directory}/tmp/WEB-INF/folder1/folder2</directory>
<targetPath>WEB-INF/otherFolder</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
Первый плагин, присоединенный к фазе process-resources . Второй вызывается на этапе package , когда все наложения объединены. Наложения применяются со стратегией первого выигрыша (следовательно, если файл был скопирован оверлеем, он больше не будет копироваться) Если я скопировал файл file.xml (через плагин), тогда не будет перезаписано никаким оверлеем.
Это так сложно!