| Ce site met a disposition le build journalier de la traduction francaise du Maven: The Definitive Guide Consultez : | ![]() |
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.