如何在Config.groovy中获取Grails应用程序名?

如何在Config.groovy中获取Grails应用程序名?,grails,configuration,configuration-files,grails-config,Grails,Configuration,Configuration Files,Grails Config,我想在grailsapp/Config.groovy中的一些配置设置中包括Grails应用程序名。我尝试了很多方法,但都没有成功。例如,如果我的Config.groovy中有以下内容 edu.appname1 = "${grailsApplication.metadata.'app.name'}" edu.appname2 = "${application.metadata.'app.name'}" edu.appname3 = "${metadata.'app.name'}" edu.appn

我想在
grailsapp/Config.groovy
中的一些配置设置中包括Grails应用程序名。我尝试了很多方法,但都没有成功。例如,如果我的
Config.groovy
中有以下内容

edu.appname1 = "${grailsApplication.metadata.'app.name'}"
edu.appname2 = "${application.metadata.'app.name'}"
edu.appname3 = "${metadata.'app.name'}"
edu.appname4 = "${app.name}"
我可以在Grails控制台中运行这些语句

def edu = grailsApplication.config.edu
println "${'''${grailsApplication.metadata.'app.name'} -> '''}${edu.appname1}"
println "${'''${application.metadata.'app.name'}       -> '''}${edu.appname2}"
println "${'''${metadata.'app.name'}                   -> '''}${edu.appname3}"
println "${'''${app.name}                              -> '''}${edu.appname4}"
结果如下

${grailsApplication.metadata.'app.name'} -> [:]
${application.metadata.'app.name'}       -> [:]
${metadata.'app.name'}                   -> [:]
${app.name}                              -> [:]
一定有办法得到这些信息

试试这个:

edu.appname1 = appName
或者,如果要作为较长配置参数的一部分使用

edu.appname1 = "something.$appName.else"

要在包含在
grails.config.locations
中的配置文件中获取appName,可以使用:

appName = grails.util.Metadata.current.'app.name'

我的问题是它在我通过
grails.config.locations
包含的文件中不可用。我将把它保存到
Config.groovy
中的一个新属性中并使用它。谢谢。这正是我需要的。我正在用谷歌搜索这份声明。它在Grails2.3.11上对我有效。谢谢完美,这正是我需要的。您还可以使用grails.util.Metadata.current.getApplicationName()作为等效项