使用h2文件DB部署Grails应用程序时出错

时间:2016-02-09 11:20:45

标签: tomcat grails h2

我希望有一个独立的软件包,包括Tomcat和我的Grails 2.5应用程序以及h2 DB文件。 在Config.groovy中我设置加载属性文件

grails.config.locations = ["classpath:mytool-config.properties"]

在mytool-config.properties中我有:

dataSource.username = "sa"
dataSource.password = "db!admin"
dataSource.url = "jdbc:h2:file:E:\\MyTool\\db\\MyTool;MVCC=TRUE;LOCK_TIMEOUT=10000"

文件夹E:\ MyTool \ db当然存在。还尝试放置已创建的MyTool.h2.db文件。

我的DataSources.groovy看起来像:

dataSource {
    jmxExport = true
    driverClassName = "org.h2.Driver"
    pooled = true
}
hibernate {
    cache.use_second_level_cache = true
    cache.region.factory_class = 'org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory' // Hibernate 4
    singleSession = true // configure OSIV singleSession mode
    flush.mode = 'manual' // OSIV session flush mode outside of transactional context
}

// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "update"
            logSql = false
        }
        hibernate.cache.use_query_cache = false
    }
    production {
        dataSource {
            dbCreate = "update"             
            logSql = false
        }
        hibernate.cache.use_query_cache = true
    }
}

但启动tomcat服务应用程序不能正常运行tomcat7-stdout.2016-02-09.log我得到:

2016-02-09 11:59:35,797 [localhost-startStop-1] ERROR pool.ConnectionPool  - Unable to create initial connections of pool.
java.sql.SQLException: Driver:org.h2.Driver@3871b7bc returned null for URL:"jdbc:h2:file:E:\MyTool\db\MyTool;MVCC=TRUE;LOCK_TIMEOUT=10000"

使用run-app在我的开发机器上运行正常。知道什么是错的吗?

1 个答案:

答案 0 :(得分:0)

我可以通过从属性文件mytool-config.properties中删除“和空格来修复它。愚蠢的常见错误。

dataSource.username=sa
dataSource.password=db!admin
ataSource.url=jdbc:h2:file:E:\\MyTool\\db\\MyTool;MVCC=TRUE;LOCK_TIMEOUT=10000