IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

[Maven 3.0.4 - Windows7 - Eclipse 3.7] Problème d'encodage utf-8 non pris en compte


Sujet :

Maven Java

  1. #1
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 113
    Points : 216
    Points
    216
    Par défaut [Maven 3.0.4 - Windows7 - Eclipse 3.7] Problème d'encodage utf-8 non pris en compte
    Bonjour,

    je me retrouve avec un problème très particulier aujourd'hui sur un projet maven:

    Nous avons un cas de test qui fonctionne très bien lancé avec JUnit, et qui ne fonctionne pas du tout lancé avec maven ! (Et donc le build est HS)

    Après analyse, il s'avère que lorsqu'on lance les tests avec JUnit, les caractères accentués sont bien affichés dans la console. Ce n'est PAS le cas avec maven ! (via m2eclipse OU en ligne de commande)

    Pourtant, tout le projet est configuré en UTF-8 dans eclipse, et dans les properties du pom parent, nous avons bien défini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding
     <project.resources.sourceEncoding>UTF-8</project.resources.sourceEncoding>
    Le pire, c'est que notre jenkins, qui tourne sous un Linux, fait parfaitement tourner le bousin !

    Nous pensons donc que le problème vient bien de Windows, mais quelle option manque ? Avez-vous déjà rencontré un cas similaire ? Des idées ?

    Merci d'avance !

    exemple d'une ligne affichée par la console avec JUnit launch :
    TRACE GlobalLogger - Entrée dans la méthode : Dummy4GlobalLogger.dummyMethod(..)
    et avec maven :
    TRACE GlobalLogger - Entr�e dans la m�thode : Dummy4GlobalLogger.dummyMethod(..)

  2. #2
    Membre éprouvé

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Points : 1 230
    Points
    1 230
    Par défaut
    As-tu essayé de forcer l'encoding sur maven-compiler-plugin ET sur maven-resources-plugin ?

    a+
    Philippe

  3. #3
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 113
    Points : 216
    Points
    216
    Par défaut
    Merci de ta réponse,

    non, je n'avais pas testé, car d'après la doc le fait de préciser les deux properties que j'énonce plus haut est équivalent à ce que tu proposes. (En tout cas je l'avais compris ainsi... )

    Je l'ai fait néanmoins après ta proposition, mais cela ne change rien..

    J'avais oublié de préciser que dans l'affichage console, maven dit bien utiliser l'encodage UTF-8 à deux niveaux :

    Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
    Maven home: C:\Dev\apache-maven-3.0.4
    Java version: 1.6.0_26, vendor: Sun Microsystems Inc.
    Java home: C:\Program Files\Java\jdk1.6.0_26\jre
    Default locale: fr_FR, platform encoding: UTF-8
    OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
    et
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    mais je n'ai pas de trace explicite qu'il compile en UTF-8...

  4. #4
    Membre éprouvé

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Points : 1 230
    Points
    1 230
    Par défaut
    Effectivement, tes 2 variables sourceEncoding affectent tous les plugins... mais bon, celà valait le coup d'essayer...

    D'autres pistes en vrac...

    D'où viennent tes String ? D'un fichier properties ? Par défaut, c'est du ISO-8859-1...

    une autre idée... ajouter <maven.compile.encoding>UTF-8</maven.compile.encoding>

    Si non il faut chercher du côté de maven-surefire-plugin, si utilisé:

    <encoding>UTF-8</encoding>
    <inputEncoding>UTF-8</inputEncoding>
    <outputEncoding>UTF-8</outputEncoding>
    <argLine>-Dfile.encoding=UTF-8</argLine> ... bref, la totale en UTF-8 pour surefire et sa JVM

    a+
    Philippe

  5. #5
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 113
    Points : 216
    Points
    216
    Par défaut
    Les caractères accentués étaient codés en dur dans une classe de test, mais le code testé utilise un xml en input et une transformation xsl...

    j'ai testé tes différentes proposition et en précisant la "totale" dans les options du plugin surfire, ça passe ! (je les ai également poussé dans les options du maven-compiler, mais ça ne suffisait pas)

    Par contre, "maven.compile.encoding" ne semble pas du tout être pris en compte... pas grave vu que au final ça fonctionne !

    Merci de ton aide, au plaisir de pouvoir rendre la pareille !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/07/2012, 22h02
  2. Réponses: 1
    Dernier message: 25/03/2012, 23h03
  3. Réponses: 2
    Dernier message: 01/02/2012, 07h12
  4. [easystruts][eclipse 3.0] Problème d'installation
    Par Alwin dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 02/07/2004, 00h21
  5. [Eclipse 3.0] Problème d'installation
    Par mathieu dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/03/2004, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo