मेरे पास एक ऐसी स्थिति है जहां मेरा कुछ ग्रोवी कोड मेरी जावा फाइलों का संदर्भ देता है, लेकिन मेरे पास अलग जावा फाइलें भी हैं जो समान ग्रोवी कोड का संदर्भ देती हैं। मेवेन में संकलन करने की कोशिश करते समय, मुझे जावा के पहले या बाद में ग्रोवी को संकलित करने की आवश्यकता होती है, और यह वास्तव में काम नहीं करेगा क्योंकि ग्रोवी कोड कुछ जावा फाइलों पर निर्भर करता है, और विभिन्न जावा फाइलें ग्रोवी कोड पर निर्भर करती हैं। क्या इस तरह की निर्भरता को संभालने का कोई तरीका है?मेवेन संकलन groovy
उत्तर
आप अपने maven pom.xml पर gmaven प्लगइन जोड़ कर अपने कोड को संकलित करने में सक्षम होना चाहिए। यह आपके ग्रोवी कोड के जावा स्टब्स जेनरेट करता है ताकि आप जिस इंटर-भाषा संदर्भ के साथ काम कर रहे हैं, उससे निपटने के लिए। मैं इसे थोड़ा सा उपयोग करता हूं और यह बहुत अच्छी तरह से काम करता है।
आप परतों में अपना कोड विभाजित कर सकते हैं और निचली परतों को ऊपरी परतों पर कॉल कर सकते हैं लेकिन इसके विपरीत कभी नहीं। उदाहरण के लिए, एक वेब ऐप में आप एक दृश्य परत, एक सेवा परत, और एक स्थिरता परत हो सकता है। व्यू परत सेवा परत को कॉल करती है और सेवा परत दृढ़ता परत को कॉल करती है, लेकिन दृढ़ता परत कभी भी सेवा परत या दृश्य परत को कॉल नहीं करेगी। यदि आप एक ही परत में ग्रोवी/जावा कोड मौजूद होना चाहते हैं तो सुनिश्चित करें कि कोई दूसरे को कॉल करता है लेकिन वे दोनों एक-दूसरे को कॉल नहीं करते हैं। निचली पंक्ति यह है कि आपको द्वि-दिशात्मक निर्भरताओं से बचना चाहिए।
हां, बस GMaven का उपयोग करें। चूंकि यह एक संयुक्त कंपाइलर है, यह स्वचालित रूप से जावा निर्भरताओं के लिए अपने जावा को groovy और groovy करने के लिए प्रबंधित करता है।
- अपने
pom.xml
मेंgmaven-plugin
शामिल हैं;:संक्षेप में, आप की आवश्यकता होगी
src/main/groovy
याsrc/test/groovy
के तहत अपनी ग्रोवी कक्षाएं रखें;- प्रासंगिक जीवन चक्र चरणों में gmaven प्लगइन बांधें।
अधिक जानकारी के लिए building groovy projects देखें।
- 1. मेवेन निर्भरता groovy
- 2. मेवेन संकलन त्रुटि
- 3. मेवेन संकलन त्रुटि: डुप्लिकेट कक्षाएं
- 4. groovy
- 5. groovy
- 6. groovy
- 7. groovy
- 8. इंटेलिजे आईडीईए: मेवेन, प्रोजेक्ट संकलन और तैनाती
- 9. मेवेन "वर्ग फ़ाइल ... नहीं मिला" संकलन त्रुटि
- 10. groovy^ऑपरेटर
- 11. Grails/Groovy
- 12. स्पॉक फ्रेमवर्क w/groovy
- 13. बदलें Grails 'Groovy संस्करण
- 14. बाइट सरणी groovy
- 15. मेवेन ग्रोवी और जावा + लॉमोकॉक
- 16. एंड्रॉइड एंड मेवेन: प्रोजेक्ट संकलन को गति दें और
- 17. मेवेन 2 - परीक्षण और संकलन में विभिन्न निर्भरता संस्करण
- 18. मुझे संकलन त्रुटि क्यों मिलती है "org/codehaus/groovy/control/compilationFailedException"?
- 19. Parse_url grails/groovy के बराबर?
- 20. मेवेन
- 21. मेवेन
- 22. संकलन चरण
- 23. क्या एक ही groovy फ़ाइल में कई groovy कक्षाओं को रखना संभव है?
- 24. मेवेन surefire
- 25. मैवेन: संकलन चरण
- 26. groovy: गुण फ़ाइल तक कैसे पहुंचे?
- 27. ग्रेले के भीतर से groovy स्क्रिप्ट चलाएं
- 28. Grails/Groovy डोमेन क्लासेस विरासत कास्ट
- 29. मेवेन
- 30. मेवेन
-1 संयुक्त ग्रोवी-जावा कंपाइलर है। –
यह सच है लेकिन द्वि-दिशात्मक निर्भरता होने से अनावश्यक रूप से जटिल और कम रखरखाव कोड हो सकता है। इस प्रश्न के संदर्भ में मैं सहमत हूं कि जीएमवन का उपयोग सही जवाब है, लेकिन मैं अभी भी कोड को खत्म करने के लिए प्रतिक्रिया दूंगा, या कम से कम द्वि-दिशात्मक संबंधों को कम कर दूंगा। – rich