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 :

Problème java.lang.ClassNotFoundException: org.hibernate.Session


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 17
    Points
    17
    Par défaut Problème java.lang.ClassNotFoundException: org.hibernate.Session
    Bonjour, nous sommes étudiants, et dans le cadre d'un projet génie logiciel "ecommerce" à l'université, on rencontre quelques problèmes avec hibernate.
    je m'explique, on a effectué la persistance avec hibernate tools, aussi, on la testé en console en récupérant des tables, en insertion et suppression.
    Le problème se pose que lorsqu'on veut tester le résultat dans une servlet, ou jsp cela nous sort l'exception suivante:
    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
    Stacktrace:] with root cause
    java.lang.ClassNotFoundException: org.hibernate.Session
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    	at org.apache.jsp.inscription_jsp._jspService(inscription_jsp.java:208)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    	at java.lang.Thread.run(Thread.java:680)
    Je rajoute la servlet:

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    package com.servlets;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import com.Metier.AjoutUser;
    import com.hibernate.pojo.Utilisateur;
     
    public class CreationClient extends HttpServlet {
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	public void doGet( HttpServletRequest request,
    			HttpServletResponse response ) throws ServletException,
    			IOException {
    		/*
    		 * RÈcupÈration des donnÈes saisies, envoyÈes en tant que
    paramËtres de
    		 * la requÍte GET gÈnÈrÈe ‡ la validation du formulaire
    		 */
    		String nom = request.getParameter( "nomClient" );
    		String prenom = request.getParameter( "prenomClient" );
    		String email = request.getParameter( "emailClient" );
    		String adress = request.getParameter( "adresseClient");
    		String codepostel = request.getParameter( "codepostel" );
    		String message = null;
    		/*
    		 * Initialisation du message ‡ afficher : si un des champs
    obligatoires
    		 * du formulaire n'est pas renseignÈ, alors on affiche un message
    		 * d'erreur, sinon on affiche un message de succËs
    		 */
     
    		Utilisateur client = new Utilisateur();
     
    		if ( nom.trim().isEmpty() || adress.trim().isEmpty() ||
    				email.trim().isEmpty() || email.trim().isEmpty() ) {
    			message = "Erreur - Vous n'avez pas rempli tous les champs obligatoires.  <br> <a href=\"inscription.jsp\">Cliquez ici</a> pour accÈder au formulaire de crÈation d'un client.";
    				} else {
    					/*
    					 * CrÈation du bean Client et initialisation avec les donnÈes
    			rÈcupÈrÈes
    					 */
    					message = "Client créé avec succés !";
    					client.setIdutilisateur(8);
    					client.setNom( nom );
    					client.setPrenom( prenom );
    					client.setAdresse( adress );
    					//client.setCodepostel(codepostel);
     
    					client.setEmail( email );
    					client.setConfirme(true);
    					client.setTemporaire(false);
     
     
     
     
     
    				}
    		/* Ajout du bean et du message ‡ l'objet requÍte */
    		request.setAttribute( "client", client );
    		request.setAttribute( "message", message );
     
     
    		/* Transmission ‡ la page JSP en charge de l'affichage
    		des donnÈes */
    		this.getServletContext().getRequestDispatcher(
    		"/ConfirmationInscription.jsp" ).forward( request, response );
    		}
    		}
    la classe metier:

    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
     
    package com.Metier;
     
    import org.hibernate.*;
    import org.hibernate.cfg.Configuration;
     
    import com.hibernate.pojo.Utilisateur;
     
     
    public class AjoutUser{
     
    	public Utilisateur personne= new Utilisateur();
     
    	public AjoutUser(Utilisateur personne){
     
    		this.personne=personne;
    	}
     
    	public void Ajout() throws Exception {
     
    	Configuration config = new Configuration();
        SessionFactory sessionFactory = config.configure().buildSessionFactory();
        Session session = sessionFactory.openSession();
     
        Transaction tx = null;
        try {
          tx = session.beginTransaction();
          session.save(personne);
          session.flush() ;
          tx.commit();
        } catch (Exception e) {
          if (tx != null) {
            tx.rollback();
          }
          throw e;
        } finally {
          session.close();
        }
        sessionFactory.close();
    	}
     
    }
    Je pense que c'est un problème de version hibernate 3.0, ou servlet, mais je suis pas sure. Help please !!!!
    Je vous remercie d'avance de votre aide!

  2. #2
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Je pense que tu n'as pas déployé le JAR d'Hibernate sur ton serveur JEE.

    As-tu ajouté les JARs d'Hibernate dans WEB-INF/lib ? Car il ne faut pas uniquement les mettre dans le classpath d'Eclipse.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par olivier.pitton Voir le message
    Je pense que tu n'as pas déployé le JAR d'Hibernate sur ton serveur JEE.

    As-tu ajouté les JARs d'Hibernate dans WEB-INF/lib ? Car il ne faut pas uniquement les mettre dans le classpath d'Eclipse.
    Certes, j'ai trouvé une solution sur un site anglais, qui disait de rajouter des jars pour déployement, mais je pensais que c'était ceux du classpath ;-(

    Une dernière chose, je ne sais pas rajouter les jars dans WEB-INF/lib, aussi dois je rajouter toutes les jar d'hibernate (les même que dans le classpath?), même le jar de la BDD?

  4. #4
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Il faut que tu ajoutes toutes les dépendances minimales d'Hibernate (qui sont dans lib/required dans le dossier d'Hibernate), Hibernate, potentiellement les bibliothèques optionnelles si tu les utilises. De plus, il faut ajouter le driver de bases de données.

    Basiquement, tout ce que tu as dans ton classpath Eclipse doit être dans WEB-INF/lib.

    Le plus simple pour ce type de projet est de mettre directement les JARs dans WEB-INF/lib, et Eclipse les ajoute au classpath comme un grand, si je me souviens bien.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    C'est bien ça, il faut copier les jars et les coller dans le répertoire \lib

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/07/2013, 10h30
  2. [Hibernate2] erreur java.lang.ClassNotFoundException: org.hibernate.Session
    Par kanebody dans le forum Hibernate
    Réponses: 1
    Dernier message: 17/05/2012, 11h42
  3. Réponses: 1
    Dernier message: 06/02/2012, 10h15
  4. erreur java.lang.NoClassDefFoundError: org/hibernate/Session
    Par faty_br dans le forum Développement Web en Java
    Réponses: 10
    Dernier message: 13/04/2011, 14h26
  5. Réponses: 2
    Dernier message: 17/08/2006, 08h26

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