2012-03-21 15 views
11

मैं grails-app/Config.groovy में मेरी कुछ कॉन्फ़िगरेशन सेटिंग्स में Grails एप्लिकेशन नाम शामिल करना चाहता हूं। मैंने सफलता के बिना कई तरीकों की कोशिश की है। उदाहरण के लिए, अगर मेरे पास है, मेरे Config.groovy में निम्नलिखितConfig.groovy के भीतर Grails एप्लिकेशन का नाम कैसे प्राप्त करें?

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}        -> [:] 

इस जानकारी को प्राप्त करने के लिए कुछ तरीका होना चाहिए।

उत्तर

25

आप grails.config.locations साथ शामिल कर रहे हैं कि एक कॉन्फ़िग फ़ाइल में appName प्राप्त करने के लिए आप उपयोग कर सकते हैं:

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

धन्यवाद। यही वही है जो मुझे चाहिए। –

+0

मैं इस कथन को गुगल रहा हूं। यह मेरे लिए grails 2.3.11 पर काम करता है। धन्यवाद! – Tung

+1

बिल्कुल सही है जो मुझे चाहिए। आप Grails.util.Metadata.current.getAplicationName() समकक्ष के रूप में भी उपयोग कर सकते हैं – Nico

2

इस प्रयास करें:

edu.appname1 = appName 

या आप एक लंबी विन्यास पैरामीटर के हिस्से के रूप उपयोग करना चाहते हैं

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

धन्यवाद। मैंने सोचा कि मैंने कोशिश की थी। –

+0

मेरी समस्या यह थी कि यह 'grails.config.locations' के माध्यम से शामिल फ़ाइल में उपलब्ध नहीं था। मैं इसे 'Config.groovy' में एक नई संपत्ति में सहेज दूंगा और इसका उपयोग करूंगा। –

संबंधित मुद्दे