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


    4.7. Ajouter des Ressources

    Ce projet nécessite deux ressources dans son classpath : la classe Main nécessite une ressource appelée log4j.properties pour configurer Log4J, et la classe WeatherFormatter utilise le template Velocity output.vm. Ces deux ressources doivent être dans le package par défaut (ou à la racine du classpath).

    Pour ajouter ces ressources, nous aurons besoin d'un nouveau répertoire dans le répertoire racine du projet : src/main/resources. Puisque ce répertoire n'a pas été créé par la tâche archetype:generate, nous allons devoir le créer en exécutant les commandes suivantes à partir du répertoire racine du projet :

    $ cd src/main
    $ mkdir resources
    $ cd resources

    Une fois le répertoire resources créé, nous pouvons y ajouter ces deux ressources. Tout d'abord, ajoutez le fichier log4j.properties dans le répertoire resources, avec le contenu affiché dans l'Exemple 4.10, « Fichier de configuration Log4J du projet Simple Weather ».

    Exemple 4.10. Fichier de configuration Log4J du projet Simple Weather

    # Set root category priority to INFO and its only appender to CONSOLE.
    log4j.rootCategory=INFO, CONSOLE
    
    # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.Threshold=INFO
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p %c{1} %x - %m%n

    Ce fichier log4j.properties configure Log4J pour qu'il affiche tous les messages de log sur la sortie standard en utilisant un PatternLayout. Enfin, nous avons besoin de créer output.vm, le template Velocity utilisé pour formater le résultat de notre programme en ligne de commande. Créez le fichier output.vm dans le répertoire resources/.

    Exemple 4.11. Template Velocity pour le projet Simple Weather

    *********************************
     Current Weather Conditions for:
      ${weather.city}, ${weather.region}, ${weather.country}
      
     Temperature: ${weather.temp}
       Condition: ${weather.condition}
        Humidity: ${weather.humidity}
      Wind Chill: ${weather.chill}
    *********************************
    

    Ce template contient un certain nombre de références à une variable appelée weather, il s'agit du bean Weather qui est passé à la classe WeatherFormatter. La syntaxe ${weather.temp} est un raccourci pour récupérer et afficher la valeur de la propriété temp du bean. Maintenant que nous avons tout le code de projet au bon endroit, nous pouvons utiliser Maven pour exécuter cet exemple.