2

我们使用 grails.config.locations 从应用程序外部的文件中提取(可选)设置。有没有一种很好的方法来检测这个文件是否已加载,无论是在 Bootstrap.groovy 中还是在 Config.groovy 本身中?

Config.groovy 有这个:

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

很高兴知道 Grails 是否在此文件中找到并读取。

4

1 回答 1

0

您在打开 Grails 调试模式时可能会看到这种情况,但您不想这样做。我正在使用以下策略。首先我检查文件是否存在:

 def externalConfigFile = "${userHome}/.grails/${appName}-config.groovy"
 if (new File(externalConfigFile).exists()) {
     grails.config.locations << "file:" + externalConfigFile
     log.info "External configuration file found at ${externalConfigFile} ..." 
 }

然后在文件本身中,我只记录它已运行:

 log.info 'External config file was loaded.'

所以现在我可以在启动时的日志中看到我找到了一个外部配置文件,它是一个现有文件,并且该文件是由 Grails 运行的,所以它被加载了。

我还没有找到更好的东西。

于 2015-09-02T08:04:10.120 回答