2013-02-05 56 views
5

मैवेन या ग्रेडल में एक मिश्रित जावा 7/ग्रोवी 2 प्रोजेक्ट की स्थापना में, क्या जैवैक के साथ पहले संकलन करने का कोई कारण है तो groovyc सिर्फ groovyc इसे संभालने के लिए दे रहा है?क्या मिश्रित कोड प्रोजेक्ट में groovyc पर javac का उपयोग करने का कोई कारण है?

मैंने उन्हें अलग-अलग और अपने पेड़ों (src/main/java और src/main/groovy) में संकलित करना शुरू किया क्योंकि सर्वोत्तम अभ्यास से पता चलता है। हालांकि, चूंकि जावा और ग्रोवी का उपयोग एक ही समस्या को हल करने के लिए किया जाता है और इतने अंतःस्थापित होते हैं, अब मैं अपने सभी स्रोत को स्रोत/मुख्य/ग्रोवी में डंप करने और ग्रोवी कंपाइलर को .java और .groovy फ़ाइलों को संभालने की ओर झुका रहा हूं। ऐसा लगता है कि स्रोत पेड़ को देखते समय प्रोजेक्ट को आसान बनाना है। क्या कोई नुकसान है?

+0

दिलचस्प, नहीं पता था कि 'groovyc' इस में सक्षम है। मैं केवल बाइटकोड के बारे में चिंता करता हूं जो आपको ऐसा करने पर मिलता है। –

+0

मैंने कुछ संभावित apropos दस्तावेज़ों को यहां चालू कर दिया है: http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven और http://groovy.codehaus.org/The+groovyc+Ant+ कार्य हालांकि, वे कार्यान्वयन विशिष्ट प्रतीत होते हैं। –

+0

ग्रोवी बिल्ड के तहत ग्रोवी 1.8 के अनुभव से, ग्रोवी प्लगइन के साथ * .java फ़ाइलों को संकलित करने के लिए मिश्रित ग्रोवी फीचर्स के बिना सामान्य जावा कक्षाएं उत्पन्न होती हैं। (एक्सपोन्डमैटा क्लास का शुद्ध जावा वर्गों पर इसका कोई प्रभाव नहीं पड़ा, उदाहरण के लिए।) यह संभव है बाइटकोड थोड़ा अलग हो सकता है, लेकिन जब हमने जावा बिल्ड से ग्रोवी बिल्ड में स्थानांतरित किया और जरूरी चीजों को जरूरी रूप से ले जाना शुरू किया, तो हमने कोई अंतर नहीं देखा। उदाहरण के लिए –

उत्तर

4

groovyc.java और .groovy दोनों को संभालने के लिए अच्छा है। इस दृष्टिकोण का उपयोग Grails ढांचे द्वारा भी किया जाता है। Grails 2 सभी .java फ़ाइलों को groovy स्रोत निर्देशिकाओं के अंतर्गत रखता है, जैसा आपने किया था। अब आप क्या कर रहे हैं सबसे अच्छा अभ्यास है।

यहाँ एक उदाहरण है: https://github.com/groovy/groovy-core/tree/master/src/main/groovy/io

+0

धन्यवाद। –