Maven - Wie erhalte ich die Castor-Plug-in-Trigger in der Phase erzeugen Quellen?
-
09-10-2019 - |
Frage
Ich bin mavenizing eine Ameise Projekt. Ein Modul umfasst XSD-Dateien, die verwendet werden, um Quelldateien Castor zu erzeugen. Ich habe alles funktioniert, wenn ich laufen:
mvn castor:generate package
Allerdings bin ich nicht in der Lage, um es das generieren Ziel für mein Plugin auszuführen, ohne sie auf der Befehlszeile angeben. Abschnitt Mein Plugin xml ist wie folgt:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>castor-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
Ich habe ohne Erfolg eine Reihe von Phase-Einträge versucht. Jede Idee, was ich falsch mache hier? Ich habe dies in Windows XP und Linux getestet, Maven 2 mit und 3. Ich habe es versucht, mit der Version 1.0 und 2.0 der Castor-maven-plugin (was ich verwenden müssen).
Danke Tim
Lösung
Das castor:generate
Ziel ist standardmäßig auf den Lebenszyklus gebunden Phase generate-sources
so, Sie müssen es nicht einmal binden ausdrücklich, wenn Sie es in eine andere Phase natürlich binden möchten.
Angenommen, Ihre *.xsd
sind im Standardverzeichnis src/main/castor
, würde die folgende somit genug sein:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>castor-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<!--schema>src/main/castor/schema.xsd</schema-->
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
Und vorausgesetzt, Sie eine src/main/castor/castorbuilder.properties
Datei haben, hier ist der Ausgang, wenn eine Phase hinter der generate-sources
Phase Aufruf:
$ mvn package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Q4169367/ 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- castor-maven-plugin:1.0:generate (default) @ Q4169367 --- [INFO] Processing /home/pascal/Projects/stackoverflow/Q4169367/src/main/castor/schema.xsd [INFO] [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ Q4169367 --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /home/pascal/Projects/stackoverflow/Q4169367/src/main/resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ Q4169367 --- [INFO] Compiling 3 source files to /home/pascal/Projects/stackoverflow/Q4169367/target/classes ...
Mit anderen Worten, die Version 1.0 des Plug-ins ausgelöst wird, wie erwartet (Version 2.0 funktioniert auch). Getestet mit Maven 3.0.
Wenn es nicht für Sie, geben Sie bitte ein Projekt ermöglicht, das Ziel zu reproduzieren und erwähnen Sie aufrufen.