| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
Un cycle de vie personnalisé doit être packagé dans un plugin dans un fichier
META-INF/maven/lifecycles.xml dans l'un des dossiers de ressources : par exemple src/main/resources.
Le fichier lifecycles.xml suivant déclare un cycle de vie nommé
zipcycle. Celui-ci contient un unique goal,
zip, dans une seule phase, package.
Exemple 11.9. Définition d'un cycle de vie par défaut dans le fichier lifecycles.xml
<lifecycles>
<lifecycle>
<id>zipcycle</id>
<phases>
<phase>
<id>package</id>
<executions>
<execution>
<goals>
<goal>zip</goal>
</goals>
</execution>
</executions>
</phase>
</phases>
</lifecycle>
</lifecycles>
Si vous voulez exécuter la phase zipcycle au sein d'un autre build,
vous pouvez créer un ZipForkMojo qui utilise l'annotation @execute
pour demander à Maven de traverser la phase zipcycle avant l'exécution du build courant.
Exemple 11.10. Fork d'un cycle de vie à partir d'un Mojo
/**
* Forks a zip lifecycle.
* @goal zip-fork
* @execute lifecycle="zipcycle" phase="package"
*/
public class ZipForkMojo extends AbstractMojo
{
public void execute()
throws MojoExecutionException
{
getLog().info( "doing nothing here" );
}
}
Exécuter le ZipForkMojo lancera un fork du cycle de vie.
Si vous avez configuré votre plugin pour qu'il s'exécuter avec le préfixe zip,
l'exécution de zip-fork devrait produire une sortie ressemblant à cela.
$ mvn zip:zip-fork [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'zip'. [INFO] ---------------------------------------------------------------------- [INFO] Building Maven Zip Forked Lifecycle Test [INFO] task-segment: [zip:zip-fork] [INFO] ---------------------------------------------------------------------- [INFO] Preparing zip:zip-fork [INFO] [site:attach-descriptor] [INFO] [zip:zip] [INFO] Building zip: \ ~/maven-zip-plugin/src/projects/zip-lifecycle-test/target/output.zip [INFO] [zip:zip-fork] [INFO] doing nothing here [INFO] --------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] --------------------------------------------------------------------- [INFO] Total time: 1 second [INFO] Finished at: Sun Apr 29 16:10:06 CDT 2007 [INFO] Final Memory: 3M/7M [INFO] ---------------------------------------------------------------------
L'exécution de zip-fork a créé un nouveau cycle de vie,
Maven a ensuite exécuté le cycle de vie zipcycle et a affiché le message contenu dans notre ZipFormMojo.