मैं मेंMaven स्ट्रिंग पाठ वेब संसाधन
src/मुख्य/webapp/textfilesdir
इस textfilesdir मैं इसे समझते हैं, पैकेज चरण के दौरान के रूप में पाठ फ़ाइलों के साथ एक Maven वेब अनुप्रयोग है बदलें निर्देशिका
लक्ष्य/परियोजना-1.0-स्नैपशॉट के रूप में कॉपी किया जायेगा
निर्देशिका है, जो तब एक
लक्ष्य/में ज़िप किया गया है परियोजना-1.0-SNAPSHOT.war
समस्या
अब, मैं पर एक स्ट्रिंग प्रतिस्थापन करने की जरूरत है लक्ष्य/परियोजना-1.0-SNAPSHOT/textfilesdir में टेक्स्ट फ़ाइलों की सामग्री। यह तब टेक्स्टफाइलडियर को लक्ष्य/प्रोजेक्ट-1.0-एसएनएपीएसएचओटी में कॉपी करने के बाद किया जाना चाहिए, लेकिन लक्ष्य/प्रोजेक्ट-1.0-SNAPSHOT.war फ़ाइल से पहले बनाया जा रहा है। मेरा मानना है कि यह सब पैकेज चरण के दौरान किया जाता है।
प्लगइन (संभावित रूप से maven-antrun-plugin) कैसे कर सकता है, इसे करने के लिए पैकेज चरण में प्लग करें।
टेक्स्ट फ़ाइलों में फ़िल्टर करने के लिए $ {property-name} जैसी गुण नहीं हैं। स्ट्रिंग प्रतिस्थापन संभवतः एकमात्र विकल्प है।
विकल्प
लक्ष्य/परियोजना 1.0-SNAPSHOT निर्देशिका में नकल के बाद पाठ फ़ाइलों को संशोधित, फिर भी युद्ध निर्माण से पहले।
पैकेजिंग के बाद, WAR से टेक्स्ट फ़ाइलों को निकालें, उन्हें संशोधित करें, और उन्हें वापस WAR में जोड़ें।
मुझे लगता है कि यहां एक और विकल्प है जिसे मैं याद कर रहा हूं। किसी को विचार?
के रूप में आम तौर पर, मैं ग्रूवी बजाय चींटी एम्बेड करने के लिए gmaven (http://docs.codehaus.org/display/GMAVEN/Executing+Groovy+Code) का उपयोग करने का सुझाव देंगे, लेकिन अन्यथा मैं पूरी तरह से सहमत (+1) –
@seanizer: मुझे और अधिक ग्रोवी सोचने की ज़रूरत है :) यह निश्चित रूप से यहां अच्छी तरह से खेलेंगे। –
yup। जबकि मैं ग्रोवी ऐप (grails आदि) के निर्माण के बारे में बहुत पागल नहीं हूं, मुझे लगता है कि ग्रोवी पूरी तरह से एक स्क्रिप्टिंग भाषा के रूप में अंडररेड है –