2012-07-31 27 views
5

Ya copié el conector mysql/j a la carpeta grails-app/lib de mi aplicación grails. y mi archivo DataSource.groovy se parece a estono se puede conectar la aplicación grails a una base de datos mySql, No se puede cargar la clase de controlador 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" 
      } 
     } 
    } 
} 

pero me da este error

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

Respuesta

11

En BuildConfig.groovy añadir

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

De hecho, puede ser que ya apenas comentada.

Esto le dice a grails que descargue mysql-connector y sus dependencias.

Usted tendrá que indicar a la que Griales Maven repositorios para usar (también en BuildConfig.groovy):

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

gracias por la respuesta, ¿así que poner el conector en el paquete lib realmente no hizo nada? porque creo que todavía tomó algo de tiempo descargar el conector por Grails –

5

Descomentar

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

en BuildConfig.groovy.

+0

gracias por la respuesta, lo aprecio. : D –

3

Si desea incluir archivos jar sin necesidad de utilizar la resolución automática de dependencias, es necesario ponerlo en el lib directorio en la raíz del proyecto, nograils-app/lib. El diseño debe verse así:

|-- 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

gracias por la sugerencia: D –

Cuestiones relacionadas