Grails外部配置。Can';t访问外部变量。总是得到[:]

Grails外部配置。Can';t访问外部变量。总是得到[:],grails,groovy,config,Grails,Groovy,Config,“文件夹”外部变量无法工作。我总是得到[:] 我在Windows下开发Grails(这就是为什么外部配置文件看起来像文件:C:\path\to/file) 我正在另一个项目中使用外部配置,没有任何问题,正如我在下面展示的那样 我有这个: Config.groovy: 环境{ 发展{ grails.config.locations=[“文件:${userHome}/.grails/${appName}-config.groovy”] } } myApp config.groovy: stats.

“文件夹”外部变量无法工作。我总是得到[:]

我在Windows下开发Grails(这就是为什么外部配置文件看起来像文件:C:\path\to/file)

我正在另一个项目中使用外部配置,没有任何问题,正如我在下面展示的那样

我有这个:

Config.groovy:

环境{
发展{
grails.config.locations=[“文件:${userHome}/.grails/${appName}-config.groovy”]
}
}
myApp config.groovy:

stats.feed.wsdl.folder='/static'
控制器和服务:

类WsdlController{
def wsdlService
def索引={
wsdlService.getEventsSchedule()
}
}
类WsdlService{
def grailsApplication
def getEventsSchedule={
println“位置:${grailsApplication.config.grails.config.Locations}”
println“文件夹:${grailsApplication.config.stats.feed.wsdl.Folder}”
}
}
控制台:

Locations:[文件:C:\Users\myUser/.grails/myApp config.groovy]
文件夹:[:]
有线索吗

谢谢

更新

这是整个myApp-config.groovy:

println“开始”
stats.feed.wsdl.folder=“/stats”
println 1
stats.feed.wsdl.folder.events=“${stats.feed.wsdl.folder}/events”
println 2
stats.feed.wsdl.folder.teams=“${stats.feed.wsdl.folder}/teams”
打印“结束”
这不起作用,控制台显示:

开始
1.
但是,如果我更改变量名,它就会工作

println“开始”
stats.feed.wsdl.folder=“${playcall.static.resources.folder}/stats”
println 1
stats.feed.wsdl.events.folder=“${stats.feed.wsdl.folder}/events”
println 2
stats.feed.wsdl.teams.folder=“${stats.feed.wsdl.folder}/teams”
打印“结束”
控制台:

开始
1.
2.
终点

创建属性并将其声明为字符串:

stats.feed.wsdl.folder = "/stats"
这样就不能添加子属性。因此,为了使某些东西接近您想要的,您可以这样做:

stats.feed.wsdl.folder.base = "/stats"
stats.feed.wsdl.folder.events = "${stats.feed.wsdl.folder.base}/events"
stats.feed.wsdl.folder.teams = "${stats.feed.wsdl.folder.base}/teams"

如果将位置更改为C:\Users\myUser\.grails\myApp config.groovy会发生什么情况?相同<代码>位置:[文件:C:\Users\myUser\.grails\myApp config.groovy]
文件夹:[:]
只是为了检查grails是否加载了您的配置文件,您可以在
myApp config.groovy
中放置一个
println
,这样我们就可以查看文件是否已加载。是的,println正在控制台上显示我放置的消息。好的,我看到什么不起作用了,但我不知道为什么。我在myApp-config.groovy
stats.feed.wsdl.folder=“/stats”
stats.feed.wsdl.folder.events=“${stats.feed.wsdl.folder}/events”
stats.feed.wsdl.folder.teams=“${stats.feed.wsdl.folder}/teams”
。我在每一行之间使用一个
println
,我看到它只执行第一行。尝试设置
stats.feed.wsdl.folder.events
时,执行停止。谢谢塞尔吉奥!奥布里加多·塞尔吉奥!你是最棒的!