Apache Maven par Michel VONGVILAY

IV. Utilisation simple de Maven

IV.2 Exemples d'utilisation

IV.2.1 Générer un projet

Pour débuter un projet, Maven propose un plugin qui permet de générer la structre du projet :


        $ maven genapp
        |  \/  |__ _Apache__ ___
        | |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
        |_|  |_\__,_|\_/\___|_||_|  v. 1.0
        Enter a project template to use: [default]
        defaut
        Please specify an id for your application:  [app]
        myApp
        Please specify a name for your application:  [Example Application]
        My Appplication Test
        Please specify the package for your application:  [example.app]
        fr.example
      

Il y a plusieurs types de template prédéfinie :

  1. default – Generate un simple projet Jar.
  2. Ejb – Génère un simple EJB.
  3. Struts - Génère une simple application web Struts.
  4. Struts-jstl - Génère une simple application web Struts et JSTL.
  5. Web - Génère une simple application web Struts.
  6. Web-jstl - Génère une simple application web Struts avec JSTL.
  7. Complex - Génère un projet très complexe avec ear, wars, ejbs, struts, xdoclet.

Voici la structure de la template default :


         myApp
         |
         |-- project.properties
         |-- project.xml
         `-- src/
             |-- java/
             |    `-- fr/example/
             |             `-- App.java
             |-- test/
             |    `-- fr/example/
             |              |-- AbstractTestCase.java
             |              |-- AppTest.java
             |              `-- NaughtyTest.java
             `-- conf/
                 `-- app.properties
       

Ce plugins génère donc la structure de l'application selon les paramères saisis et génère aussi le squelette des fichiers project.properties et project.xml. Ce plugin permet de démarrer rapidement sur le developpement d'une application.

IV.2.2 Générer un site Web

Maven propose une fonctionnalité qui permet de générer automatiquement un site web pour le projet regroupant un certain nombre d'informations utiles le concernant.

Pour demander la génération du site, il suffit de saisir la commande :
maven site:generate

Lors de l'exécution de cette commande, un répertoire target/docs est créé contenant les différents éléments du site.
Le site généré est composé de deux grandes parties :

  1. La partie Project Info qui regroupe trois pages : la mailing list, la liste des développeurs et les dépendances du projet.
  2. La partie Project report qui permet d'avoir accès à des comptes rendus d'exécution de certaines tâches : javadoc, tests unitaires, ... Certaines de ces pages ne sont générées qu'en fonction des différents éléments générés par Maven.

Le contenu du site pourra donc être réactualisé facilement en fonction des différents traitements réalisés par Maven sur le projet.

IV.2.3 Compiler un projet

Dans le fichier project.xml, il faut rajouter un tag <build> qui va contenir les informations pour la compilation des éléments du projet.
Les sources doivent être contenues dans un répertoire dédié, par exemple src. Dans ce cas, le fichier project.xml doit contenir les lignes ci-dessous entre les tags <build> et </build>.


        <build>
           ...
           <sourceDirectory>
              ${basedir}/src
           </sourceDirectory>
           ...
        </build>
      

Pour demander la compilation à Maven, il faut utiliser la commande :
maven java:compile

Le répertoire ${project_home}/target/classes est créé. Les fichiers .class issus de la compilation sont stockés dans ce répertoire.

La commande maven jar permet de demander la génération du packaging de l'application :
maven jar

Par défaut, l'appel à cette commande effectue une compilation des sources, un passage des tests unitaires s'il y en a et un appel à l'outil jar pour réaliser le packaging.

Le nom du fichier jar créé est composé de l'id du projet et du numéro de version. Il est stocké dans le répertoire racine du projet.



<< page précédente page suivante >>

Valid XHTML 1.0!