2013-07-07 5 views
0

Я использую затмение Юнона и зимуют 4.1.6, MySQL Connector 5.1.24, JBoss 7.1.1.указано JDBC Driver класс com.mysql.jdbc.Driver не найден

Я пробовал this и this (в качестве модуля).

У меня есть разъем JAR в папке WEB-INF/lib, и я тоже пробовал один раз без него. Все провалилось. Я больше не знаю, как я могу решить эту проблему. Целая цепочка:

18:35:44,284 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) Error creating Session: org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver class not found 

Коннектор - это путь класса, он находится в библиотеке зависимостей Maven. Я помещаю его в папку lib и в Системную библиотеку ... ничего не работает.

public class HibernateUtil { 

private static SessionFactory sessionFactory; 
private static ServiceRegistry serviceRegistry; 

static 
{ 
    try 
    { 
     Configuration configuration = new Configuration().configure("hibernate.cfg.xml"); 
     serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); 
     sessionFactory = configuration.buildSessionFactory(serviceRegistry); 
    } 
    catch (HibernateException he) 
    { 
     System.err.println("Error creating Session: " + he); 
     throw new ExceptionInInitializerError(he); 
    } 
} 
+0

Прежде всего, избегайте комментариев как * Пожалуйста, помогите !! SOS! *. Во-вторых, вы говорите, что вы добавили соединение с pom.xml Maven. Можете ли вы опубликовать свой pom.xml? Или, по крайней мере, часть, где вы указываете зависимость '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' –

+0

MySQL MySQL-разъем-Java 5.1.24 pulse

+0

Это кажется правильным. Пожалуйста, отредактируйте свой вопрос и опубликуйте часть, в которой вы инициализируете соединение с БД, используя соединитель MySQL. –

ответ

0

Try добавить разъем построить путь в качестве внешней баночки или, создать Lib папку и положить разъем баночку в нем, а затем Add Library на путь сборки и дать этот разъем Lib пути к папке.

+0

Я все испробовал ... ничего не работает ... У меня есть папка lib в WEB-Inf/classes..isnt это достаточно ... Я также попробовал папку lib моего jboss – pulse

+0

MySQL MySQL-разъем-Java 5.1.24 pulse

+0

ли я изменить что-то в файле манифеста? – pulse

2

Проверьте в файле hibernate.cfg.xml, что вы правильно указали на driver class и dialect:

<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> 

(эти являются свойства <session-factory>)

Затем просто построить завод вашей сессии:

sessionFactory = new Configuration().configure().buildSessionFactory(); 

Если приложение по-прежнему не видит вашу зависимость от Maven для коннектор, попробуйте выполнить чистую установку, а после этого проверьте список библиотек для вашего проекта, который появляется там MySQL Connector.

+0

im, используя hibernate 4.1.6 ... buildSessionFactory isrecrecated.hibernate.cfg.xml верен – pulse

+0

Да, это не имеет значения. Устаревшие классы/методы по-прежнему поддерживаются. Единственное, что нужно сделать, это предупредить, что код не будет работать, когда выйдет следующая основная версия спящего режима. Я добавил не устаревший код в качестве отдельного ответа для вас на кроватку. – hd1

+0

он все еще не работает с этим buildSessionFactory ... такое же исключение – pulse

0
Configuration configuration = new Configuration(); 
configuration.configure(); 
ServiceRegistryBuilder serviceRegistryBuilder = new ServiceRegistryBuilder().applySettings(configuration.getProperties()); 
sessionFactory = configuration.buildSessionFactory(serviceRegistryBuilder.buildServiceRegistry()); 
// end of static block 

public static SessionFactory getSessionFactory() { 
    return sessionFactory; 
} 
+0

все еще не работает – pulse

Смежные вопросы