将MySQL与Grails 2.0一起使用 - 查找外部连接器.jar

时间:2012-01-20 17:56:04

标签: mysql grails hsqldb

我使用的是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 个答案:

答案 0 :(得分:7)

删除jar并在BuildConfig.groovy中使用依赖声明。不是拥有多个罐子的多个副本,最好每次下载一次并将它们缓存在常春藤缓存中并从那里引用它们。

BuildConfig.groovy已经有一个MySQL的例子;只需取消注释即可,并在需要时更新版本。还要确保取消注释mavenCentral()存储库:

repositories {
    ...
    mavenCentral()
}

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