Olá pessoal!
Tenho no meu eclipse um projeto java “gerenciado” por maven. Preciso que toda vez que os fontes sejam compilados, as dependências sejam copiadas para uma determinada pasta.
Veio a mente utilizar o plugin dependency do maven, que tem um goal conveniente: copy-dependencies. Apenas para testar esse trem, adicionei a seguinte entrada no pom do projeto:
<project ...>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/alterloc</outputDirectory>
<excludeArtifactIds>servlet-api</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Percebi então um comportamento estranho deste plugin:
[list]Clicando com o direito no projeto e escolhendo Maven > Update Project Configuration, a pasta alterloc é criada no project.build.directory e lá são despejados os jars[/list]
[list]Compilando o projeto, é criada a pasta default (“dependency”) no project.build.directory com os jar, ignorando o outputDirectory declarado[/list]
Tentei associar a phase diferentes, como compile, process-classes, mas foi pior, pois nem sequer realizou a cópia.
Onde posso estar fazendo bobagem???