编译Grails项目时无法加载JDBC驱动程序类'net.sourceforge.jtds.jdbc.Driver'

Mor*_*ork 7 grails compilation jtds jdbc

这是我的第一篇帖子,所以要温柔!:)

我已经设置了一个grails项目(相当粗糙的grails项目)并尝试将其连接到SQL 2008数据库,我已将jtds-1.3.0.jar添加到lib文件夹和我的构建路径中,然后我将我的DataSource.groovy文件修改为如下: -

dataSource {
    pooled = true
    driverClassName = "net.sourceforge.jtds.jdbc.Driver"
    dialect = "org.hibernate.dialect.SQLServerDialect"
    }

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}


// environment specific settings
    development {
        dataSource {
            dbCreate = "update"
        url= "jdbc:jtds:sqlserver://TestServer:1433;databaseName=TestTable"
            username = "test"
            password = "test"
        // logSql=true
        }
    }
Run Code Online (Sandbox Code Playgroud)

麻烦的是,当我尝试编译时,我得到一个大的错误,如下所示,我错过了什么?我用google搜索但找不到明显的解决方案......:S

| Error 2013-03-08 12:44:33,451 [localhost-startStop-1] ERROR context.GrailsContextLoader  - Error executing bootstraps: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'lobHandlerDetector' while setting bean property 'lobHandler'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lobHandlerDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'net.sourceforge.jtds.jdbc.Driver'
Message: Error creating bean with name 'transactionManagerPostProcessor': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager': Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve reference to bean 'lobHandlerDetector' while setting bean property 'lobHandler'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lobHandlerDetector': Invocation of init method failed; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'net.sourceforge.jtds.jdbc.Driver'
Run Code Online (Sandbox Code Playgroud)

aio*_*los 15

我过去也遇到过类似的问题.

我已经将JTDS的版本更改为1.2.6并且一切正常.

顺便说一下 - 你不需要手动添加jar.您只需将以下内容添加到您的BuildConfig.groovy(在依赖项部分中):

runtime 'net.sourceforge.jtds:jtds:1.2.6'
Run Code Online (Sandbox Code Playgroud)

  • +1需要注意的是,jTDS 1.3.0需要Java 7,如果您使用的是Java 6,它将无法加载. (5认同)