Envoyer Maven sortie de la console et le fichier journal à l'aide de pom
Question: Lors de l'exécution de Maven dans Eclipse, comment puis-je envoyer la sortie de la console de fichier?
J'aimerais réaliser cela à l'aide d'une pom réglage ou un plugin maven. Je ne pas souhaitez modifier les types de configurations d'exécution ou le maven paramètres du système.
Pour référence, je suis avec Windows 7, Eclipse Luna, la version 6 de Java, Maven 3.
- Vous ne pouvez pas le faire, les réponses que vous avez sont la seule façon d'aller. Comment Maven être capable d'écrire un fichier, avant il a lu le POM? Considérons que le multi-projet de module aussi, lorsque cette configuration ne serait dans un module.
- Essayez d'utiliser des AOP. A réussi à rediriger les logs dans le fichier par l'application de point de coupe sur la valeur par défaut org.apache.maven.plugin.la journalisation.Journal. Mais trop d'effort pour rien. Donner un coup de feu.
Vous devez vous connecter pour publier un commentaire.
Comme par officiel options de ligne de commande vous pouvez utiliser
-l,--log-file <arg>
qui fournissent l':En tant que tel, en cours d'exécution:
Ne serait pas imprimer quoi que ce soit de la console et de rediriger automatiquement les de génération entière de sortie à la
output.log
fichier.Si vous ne voulez pas taper à chaque fois (ou que vous ne souhaitez pas utiliser la ligne de commande) et que vous souhaitez que l'option par défaut (bien que de rares cas, je suppose), vous pouvez utiliser les nouvelles options de ligne de commande de comportement disponibles depuis la version 3.3.1 et ont un
.mvn
dossier où le concernépom.xml
fichier est situé unmaven.config
fichier en fournissant simplement la ligne suivante:Qui est, le
.mvn/maven.config
fichier remplaceMAVEN_OPTIONS
juste pour son projet, localement où il a été créé, avec les options qu'il propose, qui n'impacte pas les autres compilations comme par Maven paramètres deMAVEN_OPTIONS
.C'est un IDE agnostique solution (c'est une nouvelle fonctionnalité intégrée de Maven) et locales à un projet, mais n'a toujours pas fournis par le biais de simples POM d'édition, qui ne peut être réalisé depuis la première phase de Maven par défaut phases du cycle de vie est
validate
, dont:Qui est, lors de la compilation, donc lorsque la a déjà commencé (et de sortie généré), il valide la
pom.xml
fichier, donc trop tard pour rediriger la sortie de la construction, à ce stade, basé sur quelques POM propriétés/plugin.Aller courir comme et choisissez
Run Configuration -> Commons -> Select a file
.Cela devrait rediriger la sortie vers le fichier que vous avez spécifié.
Selon cette vous pouvez essayer de modifier le
${MAVEN_HOME}/conf/logging/simplelogger.properties
. Je lui ai donné un essai rapide et maven de la sortie est redirigée, mais rien d'autre écrit àstdout
(tests, par exemple) écrit toujours sur la console<properties>
section du fichier de projet, mais il ne semble pas fonctionner...Que sur la création d'un fork de M2E et de la modifier pour lire le fichier de sortie pour le lancement de config pom.xml
https://github.com/eclipse/m2e-core.git
Une solution possible consiste à définir le format de sortie dans le
mvn file
. Par exemple, dans le répertoire/usr/bin
, ajouter le résultat souhaité informer le chemin d'accès du journal sera enregistré à la fin deexec "$JAVACMD" \
ligne: | tee /home/maven-journal.journal.Toutefois, cela ne fonctionne que lorsque le maven est appelé par le terminal de ligne; lorsqu'il est appelé par les Ide comme eclipse, ces solutions ne fonctionne pas.