अपडेट: Grails के रूप में 1.3.6 किसी के पास गैंट स्क्रिप्ट से पूर्ण डोमेन तक पहुंच है। Grails से 1.3.6 release notes:डेटाबेस को पॉप्युलेट करने के लिए एक-ऑफ ग्रिल स्क्रिप्ट
अब आप रन-स्क्रिप्ट कमांड का उपयोग करके कमांडलाइन से एक या अधिक ग्रोवी स्क्रिप्ट चला सकते हैं, उदा।
grails रन स्क्रिप्ट [पथ करने वाली स्क्रिप्ट-1] [पथ करने वाली स्क्रिप्ट -2] ... [पथ करने वाली स्क्रिप्ट-एन]
यह Gant लिपियों में समस्या के काम करता है जहां आप आसानी से एप्लिकेशन कक्षाओं तक नहीं पहुंच सकते हैं क्योंकि स्क्रिप्ट शुरू होने पर वे क्लासपाथ में उपलब्ध नहीं हैं।
हाय सब,
मैं Grails का उपयोग कर (एक वास्तविक परियोजना में) करने के लिए नया हूँ और मैं एक बंद स्क्रिप्ट मैं निष्पादित करने के लिए है कि एक फ़ाइल पढ़ता है और फिर मेरे डेटाबेस भरता है की जरूरत है।
मैं चाहता था कि स्क्रिप्ट मेरे grails ऐप के संदर्भ में चलें, इसलिए मैंने create-script कमांड का उपयोग किया। अब मैं समझता हूं कि इसे 'गेंट' स्क्रिप्ट बनाता है। ऐसा करने के लिए कारण मैंने सोचा कि यह मेरे सभी grails डोमेन अच्छा सत्ता के लिए आसान पहुँच की अनुमति होगी, ताकि मैं आसानी से कुछ इस तरह करने में सक्षम हो जाएगा:
Car car = new Car(model: 'bar', brand: 'Ford')
car.save()
यहाँ, कार में से एक है मेरे डोमेन वर्ग और तार 'बार' और 'फोर्ड' मैंने अपनी फ़ाइल से पुनर्प्राप्त किया है।
मेरी स्क्रिप्ट के शुरू होने से इस तरह दिखता है:
import com.foo.Car
grailsHome = Ant.project.properties."environment.GRAILS_HOME"
includeTargets << new File ("${grailsHome}/scripts/Bootstrap.groovy")
target(main: "a script for storing cars") {
depends(bootstrap, classpath) // code dealing with the file with cars follows
हैरानी की बात है, ग्रूवी मुझे एक java.lang.NoClassDefFoundError: com.foo.Car
देता है जब मैं आदेश grails LoadCars
मैं गलत दृष्टिकोण ले जा रहा हूँ के साथ स्क्रिप्ट को निष्पादित, या नहीं है कुछ और आसान मैं गलत कर रहा हूँ?
किसी भी मदद
धन्यवाद एक गुच्छा टेड:
यहाँ कैनन के बारे में मैं बात कर रहा हूँ है! –