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


    7.9. Exécution de l'application en ligne de commande

    Le projet simple-command est configuré pour créer un unique JAR contenant le bytecode du projet et celui de toutes ses dépendances. Pour créer cet assemblage, il nous faut exécuter le goal assembly du plugin Maven Assembly à partir du répertoire du projet simple-command :

    $ mvn assembly:assembly
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Multi-spring Chapter Simple Command Line Tool
    [INFO]    task-segment: [assembly:assembly] (aggregator-style)
    [INFO] ------------------------------------------------------------------------
    [INFO] [resources:resources]
    [INFO] Using default encoding to copy filtered resources.
    [INFO] [compiler:compile]
    [INFO] Nothing to compile - all classes are up to date
    [INFO] [resources:testResources]
    [INFO] Using default encoding to copy filtered resources.
    [INFO] [compiler:testCompile]
    [INFO] Nothing to compile - all classes are up to date
    [INFO] [surefire:test]
    ...
    [INFO] [jar:jar]
    [INFO] Building jar: .../simple-parent/simple-command/target/simple-command.jar
    [INFO] [assembly:assembly]
    [INFO] Processing DependencySet (output=)
    [INFO] Building jar: .../simple-parent/simple-command/target
                                          /simple-command-jar-with-dependencies.jar
    

    Le build suit le cycle de vie suivant : compilation, exécution des tests unitaires et construction du JAR. Le goal assembly:assembly crée un JAR contenant les dépendances. Pour cela, toutes les dépendances sont dézippées dans un répertoire temporaire, ensuite tout le bytecode est regroupé dans un unique JAR créé dans le répertoire target/ et nommé simple-command-jar-with-dependencies.jar. Ce "super" JAR pèse 15 MO.

    Avant d'exécuter notre utilitaire à partir de la ligne de commande, nous devons appeler le goal hbm2ddl du plugin Hibernate3 pour créer la base de données HSQLDB. Pour cela, exécutez la commande suivante à partir du répertoire du projet simple-command :

    $ mvn hibernate3:hbm2ddl
    [INFO] Scanning for projects...
    [INFO] Searching repository for plugin with prefix: 'hibernate3'.
    [INFO] org.codehaus.mojo: checking for updates from central
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Multi-spring Chapter Simple Command Line Tool
    [INFO]    task-segment: [hibernate3:hbm2ddl]
    [INFO] ------------------------------------------------------------------------
    [INFO] Preparing hibernate3:hbm2ddl
    ...
    10:24:56,151  INFO org.hibernate.tool.hbm2ddl.SchemaExport - export complete
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    

    Une fois cette commande exécutée, vous devriez voir apparaître un répertoire data/ dans le dossier simple-command. Ce répertoire data/ contient la base de données HSQLDB. Pour exécuter l'outil de prévisions en ligne de commande, lancez la commande suivante à partir du répertoire du projet simple-command :

    $ java -cp target/simple-command-jar-with-dependencies.jar \
               org.sonatype.mavenbook.weather.Main 60202
    2321 INFO  YahooRetriever  - Retrieving Weather Data
    2489 INFO  YahooParser  - Creating XML Reader
    2581 INFO  YahooParser  - Parsing XML Response
    2875 INFO  WeatherFormatter  - Formatting Weather Data
    ****************************************
    Current Weather Conditions for:
      Evanston, 
      IL, 
      US
    ****************************************
      
     * Temperature: 75
     * Condition: Partly Cloudy
     * Humidity: 64
     * Wind Chill: 75
     * Date: Wed Aug 06 09:35:30 CDT 2008
    

    Pour afficher l'historique des prévisions, exécutez la commande suivante :

    $ java -cp target/simple-command-jar-with-dependencies.jar \
               org.sonatype.mavenbook.weather.Main 60202 history
    2470 INFO  WeatherFormatter  - Formatting History Data
    Weather History for: 
    Evanston, IL, US
      
    ****************************************
     * Temperature: 39
     * Condition: Heavy Rain
     * Humidity: 93
     * Wind Chill: 36
     * Date: 2007-12-02 13:45:27.187
    ****************************************
     * Temperature: 75
     * Condition: Partly Cloudy
     * Humidity: 64
     * Wind Chill: 75
     * Date: 2008-08-06 09:24:11.725
    ****************************************
     * Temperature: 75
     * Condition: Partly Cloudy
     * Humidity: 64
     * Wind Chill: 75
     * Date: 2008-08-06 09:27:28.475