2012-01-11 40 views
0

我在eclipse Helios中創建了一個maven項目,並在pom.xml依賴關係中添加了「hibernate-search 4.0.0.Final」和「mysql-connector-java 5.1.18」。都下載並存在.m2目錄中。但是當我運行這段代碼:未找到hibernate maven項目中的mysql類

Session session = HibernateUtil.getSessionFactory().openSession(); 
session.beginTransaction(); 
session.getTransaction().commit(); 

只是在數據庫中創建表在表中導入以前提供的值,我得到以下錯誤:

Exception in thread "main" java.lang.ExceptionInInitializerError 
    at net.leemoo.test.HibernateUtil.buildSessionFactory(HibernateUtil.java:19) 
    at net.leemoo.test.HibernateUtil.<clinit>(HibernateUtil.java:8) 
    at net.leemoo.test.MainClass.main(MainClass.java:9) 
Caused by: org.hibernate.HibernateException: Dialect class not found: jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8 
    at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:76) 
    at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:64) 
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:166) 
    at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) 
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) 
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71) 
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2270) 
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2266) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1735) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1775) 
    at net.leemoo.test.HibernateUtil.buildSessionFactory(HibernateUtil.java:13) 
    ... 2 more 
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8] 
    at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:141) 
    at org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:73) 
    ... 13 more 
Caused by: java.lang.ClassNotFoundException: Could not load requested class : jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8 
    at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl$1.findClass(ClassLoaderServiceImpl.java:99) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.hibernate.service.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:138) 
    ... 14 more 

我不知道該怎麼辦?我GOOGLE了這個錯誤,但沒有成功。 PLZ幫助我。提前致謝。

回答

3

它看起來像某事(或某人)已將JDBC URL放在一個屬性中,該屬性假定包含類名稱。

Caused by: java.lang.ClassNotFoundException: 
    Could not load requested class : 
    jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8 

這不是類名,而應該是。

檢查配置屬性...