2012-07-31 22 views
5

Już skopiowałem złącze mysql/j do folderu grails-app/lib aplikacji grails. a moja DataSource.groovy plik wygląda taknie można połączyć aplikacji Grails z bazą danych mySql, Nie można załadować klasy sterownika 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" 
      } 
     } 
    } 
} 

ale daje mi ten błąd

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

Odpowiedz

11

W BuildConfig.groovy dodać

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

W rzeczywistości może to być tam już tylko komentarzem.

To mówi grails do pobrania mysql-connector i jego zależności.

Musisz powiedzieć Grails które Maven repozytoria w użyciu (także w BuildConfig.groovy):

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

dziękuję za odpowiedź, więc umieszczenie łącznika na pakiecie lib naprawdę nic nie zrobiło? ponieważ uważam, że pobranie łącznika przez grails trwało trochę czasu, –

5

odkomentować

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

w BuildConfig.groovy.

+0

dzięki za odpowiedź, doceń to. : D –

3

Jeżeli chcesz dołączyć pliki jar bez użycia automatycznego rozwiązywania zależności, trzeba umieścić go w lib katalog w katalogu głównym projektu, niegrails-app/lib. Układ powinien wyglądać tak:

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

dziękuję za wskazówkę: D –

Powiązane problemy