Вот скрипт Groovy, встроенный в плагин GMaven . Это именно то, что вы просите.
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>mirror-folder-structure</id>
<phase>generate-test-sources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
<![CDATA[
static void createShadow(File base, File shadow){
if(base.exists()&&!shadow.exists())shadow.mkdirs();
base.eachDir { createShadow(it, new File(shadow, it.name))};
}
createShadow(pom.build.sourceDirectory,pom.build.testSourceDirectory);
]]>
</source>
</configuration>
</execution>
</executions>
</plugin>
Проблема в том, что он не запускается автоматически. Я связал его с фазой generate-test-sources
, но вы можете выбрать любую другую фазу. Однако вам придется выполнить этот этап вручную, например, mvn generate-test-sources
.
Однако, если вы захотите использовать Eclipse с плагином m2eclipse, m2eclipse позволяет вам определять фазы жизненного цикла, которые он запускает автоматически после сохранения файла, так что это будет проще.