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 :

Exception de la Servlet : 'élément 'hibernate-mapping' introuvable


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste et Développeur Java
    Inscrit en
    Novembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste et Développeur Java

    Informations forums :
    Inscription : Novembre 2006
    Messages : 53
    Par défaut Exception de la Servlet : 'élément 'hibernate-mapping' introuvable
    Bonjour,

    Mon eclipse m'affiche cette erreur sachant que c'est une simple application web utilisant hibernante et le maven.

    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
    INFOS: Server startup in 1171 ms
    [http-apr-8080-exec-4] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Environment - Hibernate 3.6.10.Final
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Environment - hibernate.properties not found
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
    [http-apr-8080-exec-4] WARN org.hibernate.util.DTDEntityResolver - recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
    [http-apr-8080-exec-4] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : org/hibernate/tutorial/domain/Event.hbm.xml
    [http-apr-8080-exec-4] ERROR org.hibernate.util.xml.ErrorLogger - Error parsing XML (1) : cvc-elt.1 : Déclaration de l'élément 'hibernate-mapping' introuvable.
    [http-apr-8080-exec-4] ERROR org.hibernate.util.xml.ErrorLogger - Error parsing XML (2) : cvc-elt.1 : Déclaration de l'élément 'hibernate-mapping' introuvable.
    Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Unable to read XML
    avr. 25, 2016 6:32:40 PM org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: Servlet.service() for servlet [EventManager] in context with path [/HibernateMavenProject] threw exception [L''exécution de la servlet a lancé une exception] with root cause
    org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 60; cvc-elt.1 : Déclaration de l'élément 'hibernate-mapping' introuvable.
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    	at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    	at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)
    	at org.hibernate.cfg.Configuration.add(Configuration.java:513)
    	at org.hibernate.cfg.Configuration.add(Configuration.java:509)
    	at org.hibernate.cfg.Configuration.add(Configuration.java:716)
    	at org.hibernate.cfg.Configuration.addResource(Configuration.java:801)
    	at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2344)
    	at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2310)
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2290)
    	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2243)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:2158)
    	at org.hibernate.cfg.Configuration.configure(Configuration.java:2137)
    	at org.hibernate.tutorial.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
    	at org.hibernate.tutorial.util.HibernateUtil.<clinit>(HibernateUtil.java:8)
    	at org.hibernate.tutorial.web.EventManagerServlet.doGet(EventManagerServlet.java:30)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    	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:171)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	at java.lang.Thread.run(Unknown Source)

    le web.xml et le pom.xml sont crées avec cette façon :


    le web.xml :
    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
     
    <web-app 
             xmlns="http://java.sun.com/xml/ns/javaee" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    	     version="3.0"
    >
     
        <servlet>
            <servlet-name>EventManager</servlet-name>
            <servlet-class>org.hibernate.tutorial.web.EventManagerServlet</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>EventManager</servlet-name>
            <url-pattern>/eventmanager</url-pattern>
        </servlet-mapping>
    </web-app>
    le pom.xml :
    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
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>Maven.Hibernate.Project</groupId>
    	<artifactId>MavenHibernateProject</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<packaging>war</packaging>
    	<name>My Project</name>
    	<description>This project is for giving a demo of Maven capabilities</description>
     
    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<jdk.version>1.7</jdk.version>
    		<spring.version>4.1.1.RELEASE</spring.version>
    		<jstl.version>1.2</jstl.version>
    		<junit.version>4.11</junit.version>
    		<logback.version>1.0.13</logback.version>
    		<jcl-over-slf4j.version>1.7.5</jcl-over-slf4j.version>
    		<hibernate.version>3.6.10.Final</hibernate.version>
    	</properties>
     
     
    	<build>
    		<pluginManagement>
    			<plugins>
    				<plugin>
    					<groupId>org.apache.maven.plugins</groupId>
    					<artifactId>maven-compiler-plugin</artifactId>
    					<version>2.3.1</version>
    					<configuration>
    						<source>1.7</source>
    						<target>1.7</target>
    					</configuration>
    				</plugin>
    			</plugins>
    		</pluginManagement>
    		<plugins>
    			<plugin>
    			    <groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-resources-plugin</artifactId>
    				<version>2.6</version>
    			</plugin>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-dependency-plugin</artifactId>
     
    			</plugin>			
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-war-plugin</artifactId>
    				<version>2.2</version>
    				 <configuration>
                      <webXml>WebContent/WEB-INF/web.xml</webXml>
                     </configuration>
    			</plugin>
    		</plugins>
     
    	</build>
     
     
    	<dependencies>
     
                    <dependency>
    			<groupId>commons-lang</groupId>
    			<artifactId>commons-lang</artifactId>
    			<version>2.3</version>
    		</dependency>
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-core</artifactId>
    			<version>${hibernate.version}</version>
    			<exclusions>
    				<exclusion>
    					<artifactId>slf4j-api</artifactId>
    					<groupId>org.slf4j</groupId>
    				</exclusion>
    			</exclusions>
    		</dependency>
     
    		<!-- Because this is a web app, we also have a dependency on the servlet api. -->
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>javax.servlet-api</artifactId>
    			<version>3.1.0</version>
    		</dependency>
     
    		<!-- Hibernate uses slf4j for logging, for our purposes here use the simple backend -->
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-simple</artifactId>
    			<version>1.7.7</version>
    		</dependency>
     
    		<!-- Hibernate gives you a choice of bytecode providers between cglib and javassist -->
    		<dependency>
    			<groupId>org.javassist</groupId>
    			<artifactId>javassist</artifactId>
    			<version>3.18.2-GA</version>
    		</dependency>
     
    		<!-- Unit Test -->
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>${junit.version}</version>
    		</dependency>
     
    		<!-- jstl -->
    		<dependency>
    			<groupId>jstl</groupId>
    			<artifactId>jstl</artifactId>
    			<version>${jstl.version}</version>
    		</dependency>
     
    	</dependencies>
     
     
    </project>
    et merci pour votre soutien.

  2. #2
    Membre émérite
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Par défaut
    A priori le soucis vient de ton fichier de conf hibernate. Peux tu nous le montrer?
    Oetite remarque au passage, tu utilises a priori la version 3.6 de hibernate. Sauf abdolu nécessité, je te conseil de la changer : la version actuelle est 5.1 . Jette un coup d'oeil a maven central quand tu utilise une lib, pour etre sur de la version.

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyste et Développeur Java
    Inscrit en
    Novembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste et Développeur Java

    Informations forums :
    Inscription : Novembre 2006
    Messages : 53
    Par défaut
    salut,

    Pour la version je vais la changer quand j'arriverai à l'étape des annotations. et pour le moment j'aimerais bien comprendre le fonctionnement de la partie persistance par hibernate dans un projet jee.

    le fichier hibernate.cfg.xml :

    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
    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
     
    <hibernate-configuration>
     
        <session-factory>
     
            <!-- Database connection settings -->
            <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
            <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
            <property name="connection.username">sa</property>
            <property name="connection.password"></property>
     
            <!-- JDBC connection pool (use the built-in) -->
            <property name="connection.pool_size">1</property>
     
            <!-- SQL dialect -->
            <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
     
            <!-- Enable Hibernate's automatic session context management -->
            <property name="current_session_context_class">thread</property>
     
            <!-- Disable the second-level cache  -->
            <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
     
            <!-- Echo all executed SQL to stdout -->
            <property name="show_sql">true</property>
     
            <!-- Drop and re-create the database schema on startup -->
            <property name="hbm2ddl.auto">update</property>
     
            <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml"/>
            <mapping resource="org/hibernate/tutorial/domain/Person.hbm.xml"/>
     
        </session-factory>
     
    </hibernate-configuration>

    Cordialement

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Remplace
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
    par
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"
    et dans Event.hbm.xml et Person.hbm.xml, utilise
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"

    A+.

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyste et Développeur Java
    Inscrit en
    Novembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Analyste et Développeur Java

    Informations forums :
    Inscription : Novembre 2006
    Messages : 53
    Par défaut
    Bonjour,

    ces changements, ca veut dire quoi exactement au niveau du code.

    donc j'ajoute "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" dans Event.hbm.xml comme ca:

    Event.hbm.xml :

    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
    <hibernate-mapping package="org.hibernate.tutorial.domain" http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd>
     
        <class name="Event" table="EVENTS">
            <id name="id" column="EVENT_ID">
                <generator class="native"/>
            </id>
            <property name="date" type="timestamp" column="EVENT_DATE"/>
            <property name="title"/>
     
            <set name="participants" table="PERSON_EVENT" inverse="true">
                <key column="EVENT_ID"/>
                <many-to-many column="PERSON_ID" class="events.Person"/>
            </set>
     
        </class>
     
    </hibernate-mapping>
    Cordialement

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Non,

    dans hibernate.cfg.xml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    ...

    et dans les mappings (Event.hbm.xml et Person.hbm.xml)
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    ....

    A+.

Discussions similaires

  1. Hibernate et RCP: fichier mapping introuvable
    Par sixmillespieds dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 11/06/2008, 15h01
  2. [Hibernate] - Mapping Exception
    Par msiramy dans le forum Hibernate
    Réponses: 3
    Dernier message: 09/01/2006, 16h38
  3. [Hibernate] Fichier de mapping introuvable
    Par babylone7 dans le forum Hibernate
    Réponses: 3
    Dernier message: 06/01/2006, 17h06
  4. [hibernate] Mapping avec identifiant composé
    Par miky_jo dans le forum Hibernate
    Réponses: 3
    Dernier message: 11/10/2005, 16h48
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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