Использование MySQL с Grails 2.0 - поиск внешнего коннектора .jar - PullRequest
4 голосов
/ 20 января 2012

Я использую Grails 2.0, и у меня возникают проблемы с получением кода для распознавания внешней библиотеки.В частности, драйвер MySQL.

В основном проблема возникает, когда я пытаюсь изменить свой DataSource с HSQLDB на MySql.Я скачал соединитель jar (5.0.8) и поместил его в каталог (project) / lib.Я проверил, что файл com.mysql.jdbc.Driver.class находится в .jar.

Каждый раз, когда я пытаюсь запустить приложение, я получаю сообщение об ошибке:

ВызываетсяClassNotFoundException: com.mysql.jdbc.Driver

Любая помощь очень ценится.

dataSource {
    pooled = true
    //driverClassName = "org.h2.Driver"
    //username = "sa"
    //password = ""
    driverClassName = "com.mysql.jdbc.Driver"
    username = "bob"
    password = "password"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    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:h2:mem:devDb;MVCC=TRUE"
            dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:mysql://localhost:3306/tekevent"
        }
    }
    test {
        dataSource {
            dbCreate = "create-drop"
            url = "jdbc:h2:mem:testDb;MVCC=TRUE"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:h2:prodDb;MVCC=TRUE"
            pooled = true
            properties {
               maxActive = -1
               minEvictableIdleTimeMillis=1800000
               timeBetweenEvictionRunsMillis=1800000
               numTestsPerEvictionRun=3
               testOnBorrow=true
               testWhileIdle=true
               testOnReturn=true
               validationQuery="SELECT 1"
            }
        }
    }
}

1 Ответ

7 голосов
/ 20 января 2012

Удалите jar и используйте объявление зависимости в BuildConfig.groovy.Вместо того, чтобы иметь несколько копий множества jar-файлов, гораздо лучше загрузить каждый раз и кэшировать их в своем кэше Ivy и ссылаться на них оттуда.

BuildConfig.groovy уже имеет пример для MySQL;просто раскомментируйте его и при необходимости обновите версию.Также убедитесь, что репозиторий mavenCentral() не закомментирован:

repositories {
    ...
    mavenCentral()
}

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