Grails从外部配置文件中丢失配置

时间:2015-09-22 19:56:15

标签: grails

我在从配置文件中访问值时遇到问题。在调试期间,似乎没有加载外部配置文件中的值。

我使用的Grails版本是2.3.8,大约一个月前是2.1.0,当时正在使用它。

我得到的错误是

  

无法施放对象' groovy.util.ConfigObject@149ad0fa'用class' groovy.util.ConfigObject'上课' java.lang.Long'。 Stacktrace如下:    org.codehaus.groovy.runtime.typehandling.GroovyCastException:无法转换对象' groovy.util.ConfigObject@149ad0fa'用class' groovy.util.ConfigObject'上课' java.lang.Long'

MyClass.groovy

@Lazy public static Long GROUP_ID_TO_SEND = Holders.config.group.id.to.send

位于MyConfig.groovy

group.id.to.send = 3L as Long

Config.groovy已涵盖该配置文件:

environments {
    development {
        grails.config.locations = [Ldap, Jndi, "file:${basedir}/MyConfig.groovy"]
        ...

1 个答案:

答案 0 :(得分:0)

显然Grails 2.3打破了这个,它是known, still not fixed bug

然而,我发现有一个简单的解决方案。你只需要改变这个

"file:${basedir}/MyConfig.groovy"

到这个

"file:MyConfig.groovy"