2008-10-02 19 views
26

मैं एक grails युद्ध फ़ाइल कैसे बनाऊं बिना grails युद्ध बनाएं इतना है कि यह संस्करण संख्या नहीं हैसंस्करण संख्या

(जैसे foo-0.1.war)

अंत जब मैं निष्पादित करने के लिए संलग्न 'grails युद्ध' कमांड?

उत्तर

33

मुझे लगता है कि आप युद्ध कमांड में युद्ध का नाम निर्दिष्ट कर सकते हैं।

grails war foo.war 

यह भी कॉन्फ़िगरेशन विकल्प के रूप में सेट करने के लिए नवीनतम Grails दस्तावेज़ों की जांच करें। विवरण के लिए अन्य उत्तरों देखें।

+3

Sidenote। हालांकि आप पथ भी निर्दिष्ट कर सकते हैं, http://grails.org/doc/2.2.1/ref/Command%20Line/war.html – peterp

+0

यह grails 3.3.2 –

9

Grails Documentation से, अध्याय 17, तैनाती

वहाँ भी कई तरीके है जिसमें आप है कि बनाई युद्ध फ़ाइल को अनुकूलित कर सकते हैं।

grails war /opt/java/tomcat-5.5.24/foobar.war 

वैकल्पिक रूप से, आप एक लाइन जोड़ सकते हैं: उदाहरण के लिए, यदि आप कमांड यह जहां फ़ाइल जगह और क्या नाम दे निर्देश देता है कि करने के लिए एक रास्ता (या तो पूर्ण या संबंधित) निर्दिष्ट कर सकते हैं

grails.war.destFile = "foobar-prod.war" 
बेशक

, किसी भी कमांड लाइन तर्क कि आप ओवरराइड इसप्रदान करते हैं: Config.groovy कि डिफ़ॉल्ट स्थान और फ़ाइल नाम में परिवर्तन करने के लिए 210 सेटिंग।

+2

में काम नहीं करता है यह वास्तव में बेहतर उत्तर –

0

एक और तरीका है संस्करण संख्या के बिना युद्ध फ़ाइलें उत्पन्न करने के लिए application.properties

+0

है यह काम करता है और सबसे अच्छा जवाब है, क्योंकि यह उस जानकारी के लिए प्राथमिक स्रोत है। – Tobia

5

अन्य उत्कृष्ट जवाब ऊपर रोलिंग में संपत्ति, app.version, खाली रखने के लिए है।

स्पष्ट रूप से कमांड लाइन पर यह सेट: grails war foo.war

application.properties में खाली करने के लिए युद्ध का कारण होगा app.version प्रॉपर्टी सेट foo.war नामित किया जाना वहाँ कई विकल्प हैं।

स्पष्ट रूप Config.groovy

40

में grails.war.destFile संपत्ति मामले में किसी को भी इस लेख पर उतरती है का उपयोग करते हुए युद्ध के नाम तय करने और Grails 1.3.x उपयोग कर रहा है grails.project.war.file किया जा रहा है, विन्यास विकल्प Config.groovy में grails.war.destFile से बदल गया है BuildConfig.groovy में।

भी फ़ाइल नाम परियोजना कार्यक्षेत्र के सापेक्ष है, तो यह की तरह एक मान होना चाहिए:

grails.project.war.file = "target/${appName}.war"

यह नवीनतम Grails documentation के अनुसार है।

+1

यह grails 2.x – winna

2

Grails 3।एक्स ने धीरे-धीरे स्विच किया है और war प्लगइन का उपयोग करता है। ऐसा करते हुए, डिफ़ॉल्ट रूप से युद्ध फ़ाइल `target` निर्देशिका के रूप में एक उम्मीद कर सकते हैं करने के लिए संकलित नहीं किया जाएगा, लेकिन अपनी परियोजना निर्देशिका के लिए: तुम बस build.gradle फ़ाइल में इस तरह नाम निर्दिष्ट कर सकते हैं:

war { 
    archiveName 'foo.war' 
} 
+1

Grails के लिए भी प्रासंगिक है 3 आपको 'संग्रह' के बजाय 'archiveName' का उपयोग करना होगा। https://stackoverflow.com/questions/33621966/create-grails-3-war-without-version- संख्या – Zan

+0

अच्छी पकड़। मैंने नमूना कोड अपडेट किया। – j4y

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