2015-10-28 1 views
0

Je travaille sur une application utilisant Hibernate 5.0 pour me connecter à une base de données MySql. Cela fonctionne bien sur mon environnement en utilisant Tomcat V8.0.hibernate ne fonctionne pas sur Jboss

Toutefois, lorsque je déploie l'application, le serveur qui utilise JBoss 6.4.0.GA a échoué lors de l'initialisation de HibernateUtil.

J'ai essayé d'ajouter le client Jboss-common en tant que dépendance. Maintenant, j'ai un journal approprié, mais je ne peux toujours pas accéder à la base de données. Savez-vous si j'ai besoin de dépendances spécifiques pour le faire fonctionner?

J'ai le classique:

<dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>5.0.0.Final</version> 
</dependency> 
<dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.0-api</artifactId> 
     <version>1.0.1.Final</version> 
</dependency> 
<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.36</version> 
</dependency> 
<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.36</version> 
</dependency> 

Et mon erreur actuelle sur JBoss:

JBWEB000309: type JBWEB000066: Exception report

JBWEB000068: message java.lang.NoClassDefFoundError: Could not initialize class com.myproject.hibernate.HibernateUtil

JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.

JBWEB000070: exception

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class com.myproject.hibernate.HibernateUtil com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

JBWEB000071: root cause

java.lang.NoClassDefFoundError: Could not initialize class com.myproject.hibernate.HibernateUtil

et ma classe HibernateUtil:

public class HibernateUtil { 

    private static final SessionFactory sessionFactory = buildSessionFactory(); 

    private static SessionFactory buildSessionFactory() { 
     try { 
      // Use hibernate.cfg.xml to get a SessionFactory 
      return new Configuration().configure().buildSessionFactory(); 
     } catch (Throwable ex) { 
      System.err.println("SessionFactory creation failed." + ex); 
      throw new ExceptionInInitializerError(ex); 
     } 
    } 

    public static SessionFactory getSessionFactory() { 
     return sessionFactory; 
    } 

    public static void shutdown() { 
     getSessionFactory().close(); 
    } 

} 

Merci,

+0

Avez-vous mis à jour Hibernate sur JBoss? – John

+0

Je n'ai aucun autre accès à JBoss sauf pour télécharger mon fichier war. Et je n'ai aucune idée de quoi tu parles? N'utilise-t-il pas la bibliothèque de mon application? défini dans le fichier pom.xml? – Andrew

+0

Non, il s'agit en partie d'un serveur JavaEE, avec sa propre implémentation JPA qui est une version particulière d'Hibernate. C'est pourquoi vous pouvez étendre la dépendance Hibernate comme prévu – John

Répondre

0

J'ai finalement résolu mon problème. C'était un conflit entre différentes versions d'hibernate-logging (ou hibernate-commons-logging).

Sur eclipse, il utilisait les fichiers corrects mais mon jar contenait la version la plus ancienne de certaines dépendances qui étaient en conflit.

J'ai corrigé le problème en supprimant le précédent jar sur mon dossier de projet.