Bonjour à tous,

Je développe actuellement une application utilisant hibernate/Mysql/Tomcat/Java. J'ai développé cette application sous eclipse. Elle marche correctement sur ma machine de dev, mais quand je la passe en prod, il y a une erreur lorsque j'essaye d'accéder à la base de données (via un login par exemple). Cela fait maintenant 4 jours que je suis à la recherche d'une solution, à vérifier les versions, à éplucher les forums, et rien n'y fait

Configuration de Dev :
Apache 2
Tomcat 6
Hibernate 3
Mysql 5.0
Java 1.6
OS : Windows Xp (je sais ...)


Configuration de Prod :
Apache 2.2.8
tomcat 6
Hibernate 3
Mysql 5.0
sun-java6-jdk
OS : Ubuntu Server 8.04 LTS

J'utilise un fichier hibernate.properties configuré comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/workflowtn001
hibernate.connection.username=root
hibernate.connection.password=*******
Je n'utilise pas de fichier hibernate.cfg.xml (j'ai essayé avec mais ca n'a pas résolut mon problème)

J'utilise les lib suivantes :
antlr-2.7.6.jar
commons-beanutils-1.8.2.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
mysql-connector-java-5.1.10-bin.jar
slf4j-api-1.5.8.jar
slf4j-simple-1.5.8.jar

J'utilise un war pour déployer mon application (war généré par eclipse)

Je suis confronté à deux exceptions différentes. Lorsque je viens de déployer le war, j'ai cette exception. Cette exception n'apparait qu'une seule fois.

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
 
 
exception 
 
javax.servlet.ServletException: L exécution de la servlet a lancé une exception
 
 
cause mère 
 
java.lang.ExceptionInInitializerError
	dbAcces.manager.ProfilManager.authentification(ProfilManager.java:42)
	control.EnterRoot.doPost(EnterRoot.java:53)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 
 
cause mère 
 
java.lang.RuntimeException: Problème de configuration : JDBC Driver class not found: com.mysql.jdbc.Driver
	dbAcces.manager.HibernateUtil.<clinit>(HibernateUtil.java:24)
	dbAcces.manager.ProfilManager.authentification(ProfilManager.java:42)
	control.EnterRoot.doPost(EnterRoot.java:53)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 
 
cause mère 
 
org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver
	org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:89)
	org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
	org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79)
	org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:425)
	org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
	org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
	org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
	dbAcces.manager.HibernateUtil.<clinit>(HibernateUtil.java:22)
	dbAcces.manager.ProfilManager.authentification(ProfilManager.java:42)
	control.EnterRoot.doPost(EnterRoot.java:53)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 
 
cause mère 
 
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
	java.lang.Class.forName0(Native Method)
	java.lang.Class.forName(Class.java:169)
	org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
	org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:84)
	org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
	org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:79)
	org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:425)
	org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
	org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
	org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
	org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
	dbAcces.manager.HibernateUtil.<clinit>(HibernateUtil.java:22)
	dbAcces.manager.ProfilManager.authentification(ProfilManager.java:42)
	control.EnterRoot.doPost(EnterRoot.java:53)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Puis l'exception Suivante qui apparait à chaque rafraichissement :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
exception 
 
javax.servlet.ServletException: L exécution de la servlet a lancé une exception
 
 
cause mère 
 
java.lang.NoClassDefFoundError: Could not initialize class dbAcces.manager.HibernateUtil
	dbAcces.manager.ProfilManager.authentification(ProfilManager.java:42)
	control.EnterRoot.doPost(EnterRoot.java:53)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Ma class HibernateUtil n'est pas dans un .jar mais c'est une classe qui fait partie de mon dossier src, qui est bien compiler et présente dans WEB-INF\classes\dbAcces\manager.

Une idée ?