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

Hibernate Java Discussion :

chargement de la classe StaticLoggerBinder


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Par défaut chargement de la classe StaticLoggerBinder
    Bonjour à tous,

    Je dispose de hibernate 3.3.1, je travaille avec Eclipse. Une fois hibernate-distribution-3.3.1.GA-dist.zip dézippé, je place les jar , qui se trouvent dans le répertoire required de hibernate-distribution-3.3.1.GA, dans le WebContent/WEB-INF/lib de mon appli.

    De même que pour hibernate3.jar et hibernate-testing.jar qui se trouvent tous les 2 à la "racine" du repertoire hibernate-distribution-3.3.1.GA.
    (voir image jointe)

    J'ai ma classe HibernateUtil:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.*;
    
    
    public class HibernateUtil {
    
    	private static final SessionFactory sessionFactory;
    
    	static {
    		try {
    			// Crée la SessionFactory
    			sessionFactory =
    				new Configuration().configure().buildSessionFactory();
    		} catch (HibernateException ex) {
    			throw new RuntimeException("Problème de configuration : "
    					+ ex.getMessage(), ex);
    		}
    	}
    
    	public static final ThreadLocal session = new ThreadLocal();
    
    	public static Session currentSession()
    	throws HibernateException {
    		Session s = (Session) session.get();
    		// Ouvre une nouvelle Session, si ce Thread n'en a aucune
    		if (s == null) {
    			s = sessionFactory.openSession();
    			session.set(s);
    		}
    		return s;
    	}
    
    	public static void closeSession()
    	throws HibernateException {
    		Session s = (Session) session.get();
    		session.set(null);
    		if (s != null)
    			s.close();
    	}
    }
    La ligne de code en gras génère, dans la console, le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    	at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
    	at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:151)
    	at metier.HibernateUtil.<clinit>(HibernateUtil.java:17)
    	at metier.Test.main(Test.java:11)
    Je ne crois pas être dans le cas indiqué par le site suivant http://www.slf4j.org/codes.html#no_static_mdc_binder (voir image jointe)

    Ce qui me semble bizarre est que, lorsque je regarde à l'intérieur de slf4j-api-1.5.2.jar (en y naviguant avec Eclipse) je ne trouve pas la classe org.slf4j.impl.StaticLoggerBinder en question. Je n'ai même pas de repertoire impl à l'intérieur (comme le suggère le nom complet de la classe indiquée).Quelqu'un a-t-il une idée quant à l'erreur générée?

    Merci!
    Images attachées Images attachées  

  2. #2
    Membre expérimenté Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Par défaut
    En fait, cela vient de la distribution 3.3.1 "Core" d'Hibernate. Il faut la compléter avec slf4j-log4j12.jar et log4j.jar venant de Hibernate Entity Manager et d'Hibernate Annotations.

    En bref, seule, la distribution "Core" est incomplète.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 52
    Par défaut merci !
    J'étais confronté au même problème. J'espère que ta réponse va le solutionner. Enquel cas, il faudrait peut-être penser à taguer le sujet résolu ?

  4. #4
    Membre expérimenté Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Par défaut Avec plaisir ;)
    Enquel cas, il faudrait peut-être penser à taguer le sujet résolu
    Le sujet est déjà en résolu...

  5. #5
    Membre éclairé Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Par défaut
    Je le trouve inacceptable de ne pas placer ces jars dans le même bundle lors de téléchargement, - en tout cas je n'ai rien trouvé, aucune explication ni dans release' notes, ni sur les site de Hibernate. En plus dans le manuel que l'on trouve livré avec, les eplacements/folder names ne correspondent pas toujours, comme si tout a été fait au plus vite possible ou bâclé en quelque sorte. Bien sur avec Maven toutes ces dépéndences sont gérées automatiquement, mais comment faire si on ne l'utilise pas?
    Merci à ceux qui ont trouvé la raison de cette erreur.

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

Discussions similaires

  1. [POO] Problème de chargement d'une classe template
    Par shensi dans le forum Langage
    Réponses: 5
    Dernier message: 04/08/2007, 15h50
  2. Chargement dynamique de classe et version de java
    Par TabrisLeFol dans le forum Général Java
    Réponses: 8
    Dernier message: 15/02/2007, 17h13
  3. Problème de chargement d'une classe
    Par Kuroro dans le forum Général Java
    Réponses: 4
    Dernier message: 28/11/2006, 16h36
  4. [Classpath][Classloader]Chargement dynamique de classes
    Par vberetti dans le forum Général Java
    Réponses: 9
    Dernier message: 08/07/2005, 12h11
  5. [tomcat]chargement dynamique de classes depuis une webapp
    Par alphamax dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/03/2004, 09h59

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