Ich versuche, Maven zu verwenden, um alle * .xsd-Dateien, die in einem bestimmten Ordner enthalten sind, in einen anderen Ordner zu verschieben, aber ohne die Quellverzeichnisstruktur. DieseMaven: Kopieren von Dateien ohne Unterverzeichnisstruktur
ist das, was ich bisher:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>move-schemas</id>
<phase>generate-sources</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/schemas-target</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
...
<resources>
<resource>
<directory>${basedir}/schemas-source</directory>
<includes>
<include>**/*.xsd</include>
</includes>
</resource>
</resources>
Und es ist (fast) zu arbeiten. Das einzige Problem ist, dass es die Source-Unterverzeichnisstruktur beibehält, während ich diese Hierarchie entfernen und alle xsd-Dateien in den Zielordner legen muss. Beispiel:
Dies ist, was ich in der schemas-Quellordner haben:
schemas-source
│- current
│ │- 0.3
│ │- myfile.xsd
│- old
│- 0.2
│- myfile-0.2.xsd
und das ist, was ich in der schemas-Zielordner bräuchten:
schemas-target
│- myfile.xsd
│- myfile-0.2.xsd
Vielen Dank, habe ich versucht, das Maven Antrun Plugin, aber ich war von diesem flattern = "true" -Attribut nicht bewusst, dass der Trick funktioniert. –
Leider ist das antrun-Plugin die einzige Möglichkeit, ähnliche Aufgaben auszuführen ... scheint wie "flatten" als Einstellung in das Kopierressourcen-Ziel von maven-resources plugin eingefügt worden zu sein. – JCD
flatten ist ein Anfang, aber oft möchte ich einen "Start-Pfad" wie wenn ich ein WAR-Archiv zu erweitern, möchte ich Web-inf/Klassen verlieren, aber behalten die Paketstruktur. Aber ich denke, das kann mit Mappern erreicht werden: http://ant.apache.org/manual/Types/mapper.html –