Как получить имя приложения Grails в Config.groovy? - PullRequest
11 голосов
/ 21 марта 2012

Я хочу включить имя приложения 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}                              -> [:]

Должен быть какой-то способ получить эту информацию.

Ответы [ 2 ]

25 голосов
/ 21 марта 2012

Чтобы получить имя приложения в конфигурационном файле, который вы включаете в grails.config.locations, вы можете использовать:

appName = grails.util.Metadata.current.'app.name'
2 голосов
/ 21 марта 2012

попробуйте это:

edu.appname1 = appName

или если вы хотите использовать его как часть более длинного параметра конфигурации

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