java.lang.ExceptionInInitializerError in the creation of hibernate configuration

13,116

Solution 1

I think you've hit this issue.

It seems you're using SLF4J version 1.5.8 (or thereabouts), as the source code of org.slf4j.LoggerFactory with tag 'SLF4J_1.5.8' has line numbers that match those in your stacktrace.

I would recommend updating to later version of SLF4J.

Solution 2

Two possibilities :

Your Hibernate.cfg.xml is not on classpath. What folder is it in?

Else you may try updating the version of slf4j jar

Share:
13,116
a bouchenafa
Author by

a bouchenafa

Updated on June 04, 2022

Comments

  • a bouchenafa
    a bouchenafa almost 2 years

    I'm working on a Hibernate project and I configured everything.

    So, I generated the beans and hbm files.

    Then, I wrote a test class to test the project(I used the Client class)

    When I executed the code, the following exception was thrown:

    java.lang.ExceptionInInitializerError
    Caused by: java.lang.NullPointerException
    at org.slf4j.LoggerFactory.singleImplementationSanityCheck(LoggerFactory.java:192)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:113)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
    at org.aness.test.HiberM.<clinit>(HiberM.java:12)
    Exception in thread "main" 
    

    the code is :

    import org.aness.beans.*;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class HiberM {
     final static Logger logger = LoggerFactory.getLogger(Client.class);
    public static void main(String[]arg){
    
        Configuration cfg = new Configuration().configure();
        SessionFactory sf =cfg.buildSessionFactory();
        Session s = sf.openSession();
        Transaction tx =s.beginTransaction();
    
        Client c =new Client();
        c.setRaisonSociale("peugeot algerie");
        c.setNumeroRc("3215468897");
        c.setIdentificationFiscale("888777999");
        c.setAdresseActivite("blida zone atlas");
        c.setTelephone("00213(0)25436996");
        c.setFax("00213(0)25436996");
    
        s.save(c);
        tx.commit();
    
       }
    
     }
    

    that's the whole problem.

    the hibernate cfg file is : *

    <?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 name="apurement">
     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
     <property name="hibernate.connection.password">root</property>
     <property name="hibernate.connection.url">jdbc:mysql://localhost/apurement</property>
     <property name="hibernate.connection.username">root</property>
     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    </session-factory>
    </hibernate-configuration>
    

    the client mapping is :

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 27 d?c. 2012 11:47:54 by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="org.aness.beans.Client" table="client" catalog="apurement">
        <id name="clientId" type="int">
            <column name="client_id" />
            <generator class="assigned" />
        </id>
        <property name="raisonSociale" type="string">
            <column name="raison_sociale" length="150" not-null="true" />
        </property>
        <property name="numeroRc" type="string">
            <column name="numero_rc" length="45" not-null="true" />
        </property>
        <property name="identificationFiscale" type="string">
            <column name="identification_fiscale" length="45" not-null="true" />
        </property>
        <property name="adresseActivite" type="string">
            <column name="adresse_activite" length="250" not-null="true" />
        </property>
        <property name="adressePersonelle" type="string">
            <column name="adresse_personelle" length="250" />
        </property>
        <property name="telephone" type="string">
            <column name="telephone" length="45" not-null="true" />
        </property>
        <property name="fax" type="string">
            <column name="fax" length="45" not-null="true" />
        </property>
        <set name="domiciliations" table="domiciliation" inverse="true" lazy="true" fetch="select">
            <key>
                <column name="client_id" not-null="true" />
            </key>
            <one-to-many class="org.aness.beans.Domiciliation" />
        </set>
        </class>
    </hibernate-mapping>
    
  • a bouchenafa
    a bouchenafa over 11 years
    i did but nothing happends
  • Luke Woodward
    Luke Woodward over 11 years
    @AnisBouchenafa: which version of SLF4J are you now using?