当添加到grails.config.locations时,grails 2.5不会从home目录中读取属性

时间:2015-08-04 11:33:02

标签: grails

在config.groovy的顶部是这一行(现在没有注释):

SELECT person
     , SUM(point) total 
  FROM 
     ( SELECT person,point FROM table_b
        UNION 
          ALL
       SELECT person,0 FROM table_a
     ) x
 GROUP 
    BY person 
 ORDER 
    BY total DESC;

所以我们在home dir /.grails的windows上创建了一个属性文件,其中包含数据库迁移插件的这些行:

grails.config.locations = [ "file:${userHome}/.grails/${appName}-config.properties"]

我们重新启动应用程序,它完全忽略了这些值。

但是,如果我们改变为groovy文件:

contents of c:\Users\me\.grails\myapp-config.properties:

grails.plugin.databasemigration.updateOnStartContexts=XXX
grails.plugin.databasemigration.updateOnStart=true

并创建以下文件:c:\ Users \ me.grails \ myapp-config.groovy

grails.config.locations = [ "file:${userHome}/.grails/${appName}-config.groovy"]

完美无缺。似乎至少不可能将属性文件与数据库迁移插件一起使用。

但是,我们需要能够在生产(tomcat + war)上更改这些值,我们假设它们无法编译groovy文件,因此无法工作。

幸运的是,以下部分确实有效:

grails.plugin.databasemigration.updateOnStartContexts = 'XXX'
grails.plugin.databasemigration.updateOnStart = true

但是我们真的想让home dir版本工作,所以我们不必担心我们的开发环境中的系统属性和命令行参数。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  1. 将窗口的路径分隔符从/更改为

  2. 尝试将完整路径放在位置以检查文件是否可以读取