我在Windows 7上。在我的Grails(2.3.6)应用程序的Config.groovy
文件中我有:
grails.config.locations = [
"file:/etc/myapp/env.groovy"
]
// fizz.buzz is defined inside env.groovy
println "fizz.buzz=${fizz.buzz}"
我的D:\
驱动器的根目录:
etc/
myapp/
env.groovy
当我运行grails -Dgrails.env=local run-app
时,我得到以下输出:
fizz.buzz=[:]
这里发生了什么?为什么Grails不能找到我的env.groovy
文件和/或读取其属性?
我的权限:
在Groovy控制台中运行File('/etc/myapp/env.groovy').absolutePath
,我得到:
Exception thrown
groovy.lang.MissingMethodException: No signature of method: ConsoleScript2.File() is
applicable for argument types: (java.lang.String) values: [/etc/myapp/env.groovy]
Possible solutions: find(), find(groovy.lang.Closure), use([Ljava.lang.Object;),
with(groovy.lang.Closure), is(java.lang.Object), wait()
我也试过运行我的应用程序并通过这样的开关在命令行中传递fizz.buzz
的值:
grails -Dgrails.env=local -Dfizz.buzz="true" run-app
结果是一样的。 在println
Config.groovy
内运行{{1}}时,是否有可能读入配置但暂时不可用(缓存等)?