मैं तैनात WAR फ़ाइल के बाहर बाहरी कॉन्फ़िगरेशन फ़ाइलों (* .groovy और * .properties) को लोड करने के लिए Grails के अंतर्निर्मित तंत्र का उपयोग करने का प्रयास कर रहा हूं। दस्तावेज़ीकरण का तात्पर्य यह grails.config.locations
उचित classpath:
या file:
पथों के साथ सेट करने का मामला है।grails/बाहरी विन्यास/grails.config.locations - पूर्ण पथ फ़ाइल "मौजूद नहीं है"?
मैं साथ Config.groovy कॉन्फ़िगर कर दिया है:,
String externalConfigLocation = System.getProperty("SYSTEM_PROPERTY_KEY")
if (!grails.config.locations || !(grails.config.locations instanceof List)) {
grails.config.locations = []
}
if (classpathExternalConfigLocation) {
String pathToResource = "\"file:${basedir}" + File.separator + externalConfigLocation+"\""
print "Loading external configuration file: ${pathToResource}\n"
grails.config.locations << pathToResource
}
हालांकि इस काम नहीं किया है फ़ाइल "मौजूद नहीं है" इससे स्पष्ट है त्रुटि संदेश के साथ। हालांकि, grails.config.locations
में संग्रहीत पूर्ण पथ को प्रिंट करने से यह संकेत मिलता है। मैं कुछ संयोजनों की कोशिश की है:
classpath:configurationFile.properties
file:c:\path_to_file\configurationFile.properties
c:\path_to_file\configurationFile.properties
लेकिन इन सभी मामलों फ़ाइल नहीं मिल सकता है।
बहुत अजीब - सलाह दी सराहना की। या डिबग कैसे करें पर सुझाव।
grails.config.locations = ["classpath:${appName}-config.groovy",
"file:./${appName}-config.groovy"]
if (System.properties["${appName}.config.location"]) {
grails.config.locations << "file:" + System.properties["${appName}.config.location"]
}
यह मैं परियोजना जड़ में एक फ़ाइल डाल गुण अनुकूलित करने के लिए स्थानीय स्तर पर जब विकासशील करने देता है:
इसके लिए धन्यवाद। – Alex
चाल grails.config.locations << "classpath:" + classpathExternalConfigLocation का उपयोग करना था और यह सुनिश्चित करने के लिए कि ग्रहण/एसटीएस क्लासपाथ फ़ोल्डर को इंगित कर रहा था, .classpath में फ़ाइल। क्लासपाथ: डीबग करने के लिए संभावित रूप से कठिन है, लेकिन सापेक्ष फ़ाइल पथ के लिए इसके लायक है –
Alex