这与记录无关,而与“
prodDB.properties”有关。您正在获取FileNotFoundException,因为它无法编写(或可能重命名)它。运行该应用程序的用户不得在创建HSQLDB数据库文件的目录中具有写权限。
默认配置使用相对路径,因此它将在应用程序从以下位置启动时进行编写:
production { dataSource { dbCreate = "update" url = "jdbc:hsqldb:file:prodDb;shutdown=true" }}一种解决方法是在DataSource.groovy中对路径进行硬编码:
production { dataSource { dbCreate = "update" url = "jdbc:hsqldb:file:/some/writeable/folder/prodDb;shutdown=true" }}更好的方法是在Config.groovy中启用外部配置文件:
grails.config.locations = ["classpath:${appName}-config.groovy"]并创建foo-config.groovy包含
dataSource { url = "jdbc:hsqldb:file:/some/writeable/folder/prodDb;shutdown=true"}并将foo-config.groovy放在Tomcat的类路径中的$ TOMCAT_HOME /
lib中(将foo更改为您的应用程序名称)。这样,您可以将战争部署到多个位置,并且仅覆盖配置文件,而不用硬编码Config.groovy中的单个值。



