11

我想在我的一些配置设置中包含 Grails 应用程序名称grails-app/Config.groovy。我尝试了很多方法都没有成功。例如,如果我的 中有以下内容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}                              -> [:]

必须有某种方法来获取这些信息。

4

2 回答 2

25

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

appName = grails.util.Metadata.current.'app.name'
于 2012-03-21T17:51:10.640 回答
2

尝试这个:

edu.appname1 = appName

或者如果您想用作较长配置参数的一部分

edu.appname1 = "something.$appName.else"
于 2012-03-21T17:19:39.820 回答