2012-07-31 24 views
5

Ho già copiato il connettore mysql/j nella cartella grails-app/lib della mia applicazione grails. e il mio file DataSource.groovy assomiglia a questonon può collegare l'applicazione Grails a un database mySql, Impossibile caricare la classe di driver JDBC 'com.mysql.jdbc.Driver'

dataSource { 
    pooled = true 
    driverClassName = "com.mysql.jdbc.Driver" 
    username = "root" 
    password = "password" 
} 
hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = false 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
} 
// environment specific settings 
environments { 
    development { 
     dataSource { 
      dbCreate = "create-drop" // one of 'create', 'create-drop', 'update',  'validate', '' 
      url = "jdbc:mysql://localhost:3306/tewhareoteata3test" 
      dialect = "org.hibernate.dialect.MySQL5InnoDBDialect" 
     } 
    } 
    test { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 
     } 
    } 
    production { 
     dataSource { 
      dbCreate = "update" 
      url = "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 
      pooled = true 
      properties { 
       maxActive = -1 
       minEvictableIdleTimeMillis=1800000 
       timeBetweenEvictionRunsMillis=1800000 
       numTestsPerEvictionRun=3 
       testOnBorrow=true 
       testWhileIdle=true 
       testOnReturn=true 
       validationQuery="SELECT 1" 
      } 
     } 
    } 
} 

ma mi dà questo errore

Cannot load JDBC driver class 'com.mysql.jdbc.Driver' 

risposta

11

In BuildConfig.groovy aggiungere

dependencies { 
     runtime 'mysql:mysql-connector-java:5.1.16' 
    } 

In realtà potrebbe esserci già appena commentata.

Questo dice a Grails di scaricare mysql-connector e le sue dipendenze.

Avrete bisogno di dire che Grails Maven repository da utilizzare (anche in BuildConfig.groovy):

repositories { 
     grailsPlugins() 
     grailsHome() 
     grailsCentral() 
     mavenCentral() 
    } 
+0

grazie per la risposta, quindi mettere il connettore sul pacchetto lib in realtà non ha fatto nulla? perché credo ci sia ancora un po 'di tempo per scaricare il connettore di Grails –

5

Decommentare

runtime 'mysql:mysql-connector-java:5.1.20' 

in BuildConfig.groovy.

+0

grazie per la risposta, apprezzarlo. : D –

3

Se si desidera includere i file jar senza utilizzare la risoluzione automatica delle dipendenze, è necessario metterlo nel lib directory nella radice del progetto, nongrails-app/lib. Il layout dovrebbe assomigliare a questo:

|-- grails-app 
| |-- conf 
| | |-- hibernate 
| | `-- spring 
| |-- controllers 
| |-- domain 
| |-- i18n 
| |-- services 
| |-- taglib 
| |-- utils 
| `-- views 
|  `-- layouts 
|-- lib     <-- jars go here 
|-- scripts 
|-- src 
| |-- groovy 
| `-- java 
|-- target 
|-- test 
| |-- integration 
| `-- unit 
`-- web-app 
+0

grazie per il suggerimento: D –

Problemi correlati