Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide
Consultez :
  • Les documents de reference sur le projet original
  • Les sources de la traduction fr sur GitHub
  • maven


    18.4. Publication d'archétypes

    Une fois que vous avez produit quelques artefacts, vous voudrez probablement les partager avec le reste du monde. Pour cela, vous devez créer un catalogue d'archétypes. Un catalogue d'archétypes est un fichier XML que le plugin Maven Archetype peut consulter pour rechercher des archétypes dans un repository. L'Exemple 18.1, « Catalogue d'archétypes du projet Apache Cocoon » affiche le contenu du catalogue d'archétypes du projet Apache Cocoon qui peut être trouvé à l'adresse http://cocoon.apache.org/archetype-catalog.xml.

    Exemple 18.1. Catalogue d'archétypes du projet Apache Cocoon

    <archetype-catalog>
      <archetypes>
        <archetype>
          <groupId>org.apache.cocoon</groupId>
          <artifactId>cocoon-22-archetype-block-plain</artifactId>
          <version>1.0.0</version>
          <description>Creates an empty Cocoon block; useful if you want to add
                      another block to a Cocoon application</description>
    
        </archetype>
        <archetype>
          <groupId>org.apache.cocoon</groupId>
          <artifactId>cocoon-22-archetype-block</artifactId>
          <version>1.0.0</version>
          <description>Creates a Cocoon block containing some small
                      samples</description>
        </archetype>
    
        <archetype>
          <groupId>org.apache.cocoon</groupId>
          <artifactId>cocoon-22-archetype-webapp</artifactId>
          <version>1.0.0</version>
          <description>Creates a web application configured to host Cocoon blocks.
                      Just add the block dependencies</description>
        </archetype>
      </archetypes>
    
    </archetype-catalog>

    Pour générer un tel catalogue, vous devez parcourir un dépôt Maven puis produire ce fichier XML catalogue. Le plugin Maven Archetype possède un goal nommé crawl qui effectue cela. En exécutant le goal archetype:crawl à partir de la ligne de commande sans argument, le plugin Maven Archetype va parcourir votre dépôt local à la recherche d'archétypes et créer un fichier archetype-catalog.xml dans le répertoire ~/.m2/repository.

    [tobrien@MACBOOK repository]$ mvn archetype:crawl
    [INFO] Scanning for projects...
    [INFO] Searching repository for plugin with prefix: 'archetype'.
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Maven Default Project
    [INFO]    task-segment: [archetype:crawl] (aggregator-style)
    [INFO] ------------------------------------------------------------------------
    [INFO] [archetype:crawl]
    repository /Users/tobrien/.m2/repository
    catalogFile null
    [INFO] Scanning /Users/tobrien/.m2/repository/ant/ant/1.5/ant-1.5.jar
    [INFO] Scanning /Users/tobrien/.m2/repository/ant/ant/1.5.1/ant-1.5.1.jar
    [INFO] Scanning /Users/tobrien/.m2/repository/ant/ant/1.6/ant-1.6.jar
    [INFO] Scanning /Users/tobrien/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar
    ...
    [INFO] Scanning /Users/tobrien/.m2/repository/xmlrpc/xmlrpc/1.2-b1/xmlrpc-1.2-b1.jar
    [INFO] Scanning /Users/tobrien/.m2/repository/xom/xom/1.0/xom-1.0.jar
    [INFO] Scanning /Users/tobrien/.m2/repository/xom/xom/1.0b3/xom-1.0b3.jar
    [INFO] Scanning /Users/tobrien/.m2/repository/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 31 seconds
    [INFO] Finished at: Sun Oct 12 16:06:07 CDT 2008
    [INFO] Final Memory: 6M/12M
    [INFO] ------------------------------------------------------------------------
    

    Si vous êtes intéressé par la création d'un catalogue d'archétypes, c'est généralement parce que vous êtes un projet Open Source ou une société qui dispose d'un ensemble d'archétypes à partager. Ces archétypes sont probablement déjà disponibles dans un dépôt que vous avez besoin d'explorer pour générer un catalogue. En d'autres termes, vous aurez probablement envie de parcourir un répertoire sur un dépôt Maven existant et générer un fichier archetype-catalog.xml à la racine du dépôt. Pour cela, il vous faut passer le catalogue et le dépôt en paramètre du goal archetype:crawl.

    La ligne de commande suivante permet de créer un fichier catalogue à l'emplacement /var/www/html/archetype-catalog.xml, le dépôt se trouve dans le répertoire /var/www/html/maven2.

    $ mvn archetype:crawl -Dcatalog=/var/www/html/archetype-catalog.xml \
                          [INFO] Scanning for projects...
    [INFO] Searching repository for plugin with prefix: 'archetype'.
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Maven Default Project
    [INFO]    task-segment: [archetype:crawl] (aggregator-style)
    [INFO] ------------------------------------------------------------------------
    [INFO] [archetype:crawl]
    repository /Users/tobrien/tmp/maven2
    catalogFile /Users/tobrien/tmp/blah.xml
    [INFO] Scanning /Users/tobrien/tmp/maven2/com/discursive/cas/extend/cas-extend-client-java/2.1.1/cas-extend-client-java-2.1.1.jar
    [INFO] Scanning /Users/tobrien/tmp/maven2/com/discursive/cas/extend/cas-extend-client-java/2.2/cas-extend-client-java-2.2.jar
    -Drepository=/var/www/html/maven2
    ...