Maven Konfiguration copy-dependencies verschiedene Verzeichnisse
kackb00n
- projektverwaltung
Hi, ich arbeite mich gerade mit Maven für ein größeres Projekt ein. Dabei müssen verschiedene Dependencies dann in verschiedenen Verzeichnissen landen.
Da das Projekt aus vielen Unterprojekten besteht, habe ich diesbezüglich in der "Haupt-POM" folgende Konfiguration:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-libs</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeTransitive>true</excludeTransitive>
<outputDirectory>${project.install.dir}/libs</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Für das Unterprojekt mal hier der relevante Teil:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-libs</id>
<phase>package</phase>
<configuration>
<excludeArtifactIds>org.apache.felix.main</excludeArtifactIds>
</configuration>
</execution>
<execution>
<id>copy-felix</id>
<phase>package</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.main</artifactId>
<version>5.6.10</version>
<outputDirectory>${project.install.dir}/bin</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Damit generiert sich in der effektiven POM:
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-libs</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeArtifactIds>org.apache.felix.main</excludeArtifactIds>
<excludeTransitive>true</excludeTransitive>
<outputDirectory>../env/libs</outputDirectory>
</configuration>
</execution>
<execution>
<id>copy-felix</id>
<phase>package</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.main</artifactId>
<version>5.6.10</version>
<outputDirectory>../env/bin</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Beim Erzeugen werden dann die Dependencies richtig nach ../env/libs
kopiert, allerdings bleibt ../env/bin
komplett leer.
Was mache ich falsch?
MfG