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

Java Discussion :

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 35
    Par défaut java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
    bonjour,

    j'utilise Tomcat 8 sous Debian Jessie avec JAVA 7

    j'ai paramétré mes options java comme ceci : JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true" dans un fichier setenv.sh

    J'ai tout de même le message d'erreur suivant :
    java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

    pour info un ps -lfe | grep ja me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    0 S tomcat    6582     1  4  80   0 - 939260 ?     17:14 ?        00:01:07 /usr/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.egd=file:/dev/urandom -Djava.awt.headless=true? -server -Xms2G -Xmx2G -XX:PermSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true? -Djava.endorsed.dirs=/usr/share/tomcat/endorsed -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.io.tmpdir=/usr/share/tomcat/temp org.apache.catalina.startup.Bootstrap start
    0 S max76     6775  1360  0  80   0 -  3185 -      17:41 pts/0    00:00:00 grep ja
    Je ne sais pas si c'est normal d'avoir un ? (point d'interrogation) après -Djava.awt.headless=true dans le grep...

    Quelqu'un aurait-il une idée pour résoudre mon problème ?

  2. #2
    Membre très actif Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Par défaut
    Je vais prendre ton problème à l'envers.
    ça te sert à quoi de changer la configuration des applications graphiques pour un container de servlet ?
    A rien !

    Sinon dans ta ligne de commande le booléen est louche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -Djava.awt.headless=true?

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par supergeoffrey Voir le message
    ça te sert à quoi de changer la configuration des applications graphiques pour un container de servlet ?
    Bien sûr que si -_-°... Le mode headless ne sert d'ailleurs pas à autre chose.
    Les containers de servlet doivent souvent produire des images ou des documents contenant des images, et pour faire ça on utilise les fonction de dessin graphique. Ces fonctions sont logiquement déportées sur la couche graphique de l'environnement, pour avoir le même comportement en dessinant dans un buffer ou directement à l'écran.
    Du coup se pose la question de ce qui se passe si l'environnement n'a pas de couche graphique ou bien que le container n'y a pas accès. Ben ça peut pas marcher tout simplement. D'où l'existence du mode headless qui ne passe pas par la couche graphique, dans le cas où on produit des images sans l'intention de les afficher soi-même.


    Par contre les ? dans la ligne de commande ce n'est pas normal du tout. Je ne suis pas trop sûr d'où ils peuvent bien venir, mais il faudrait qu'ils soient pas là.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/12/2012, 18h16
  2. Réponses: 2
    Dernier message: 16/04/2011, 11h59
  3. Réponses: 1
    Dernier message: 05/07/2010, 19h38
  4. Réponses: 2
    Dernier message: 08/01/2010, 15h26
  5. Réponses: 0
    Dernier message: 15/10/2009, 16h58

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