2010-11-08 11 views
13

के लिए उत्पन्न स्रोतों में फ़ाइलों को नहीं जोड़ सकता है target/generated-sources में कोड उत्पन्न करने के लिए मैं Apache Thrift का उपयोग करता हूं।मैवेन संकलन चरण

थ्रिफ्ट कंपाइलर gen-java नामक एक निर्देशिका बनाता है जिसमें सभी जावा कोड शामिल हैं। जब मैं mvn compile निष्पादित करता हूं, तो कोड target/generated-source/gen-java में सही ढंग से उत्पन्न होता है, लेकिन संकलन चरण में, यह शिकायत करता है कि gen-java में परिभाषित कक्षाएं नहीं मिलती हैं।

मेरी समझ में, मैवेन 2 स्वचालित रूप से जेनरेट किए गए स्रोत जोड़ता है, क्या यह सही है?

और यदि मेरा परीक्षण कोड generated-sources पर भी निर्भर करता है, तो क्या मुझे मैन्युअल रूप से संकलक निर्दिष्ट करना होगा?

+0

के संभावित डुप्लिकेट [क्यों Maven से अधिक लंघन है अपने कस्टम उत्पन्न-स्रोतों फांसी?] (Http://stackoverflow.com/questions/18721684/why-is-maven-skipping-over-my-custom-generate-sources -executions) – ArtB

+0

[मैवेन मेरे कस्टम जेनरेट-स्रोत निष्पादन पर क्यों छोड़ रहा है?] (http://stackoverflow.com/q/18721684/1523648) antrun प्लगइन की कॉन्फ़िगरेशन त्रुटि के बारे में है, यह प्रश्न नहीं है। – oberlies

उत्तर

16

मेरी समझ में, Maven 2 स्वचालित रूप से उत्पन्न जोड़ने स्रोतों, यह सही है?

कुछ भी नहीं स्वचालित, स्रोत कोड पैदा करने प्लगइन्स आम तौर पर संभाल है कि उनके उत्पादन निर्देशिका (प्रथा के अनुसार target/generated-sources/<tool> की तरह कुछ) स्रोत निर्देशिका के रूप में पोम को जोड़ने इतना है कि यह बाद में संकलन के चरण के दौरान शामिल किया जाएगा द्वारा।

कुछ कम अच्छी तरह से लागू प्लगइन्स आपके लिए ऐसा नहीं करते हैं और आपको निर्देशिका को जोड़ना होगा, उदाहरण के लिए Build Helper Maven Plugin का उपयोग करना।

और चूंकि आपने कोई भी पीओएम स्निपेट नहीं दिया है, कोई भी लिंक, मैं और कुछ नहीं कह सकता।

और यदि मेरा परीक्षण कोड जेनरेट-स्रोतों पर भी निर्भर करता है, तो क्या मुझे मैन्युअल रूप से संकलक निर्दिष्ट करना होगा?

जैसा कि मैंने कहा, उत्पन्न स्रोतों आमतौर पर स्रोत निर्देशिका के रूप में जोड़ा गया है और संकलित है और इस तरह आप कुछ भी करने को बिना परीक्षण classpath पर उपलब्ध हैं।

+1

_plugins उत्पन्न स्रोत कोड आम तौर पर पीओएम_ पर स्रोत निर्देशिका के रूप में अपनी आउटपुट निर्देशिका जोड़कर संभालता है क्या आपके पास ऐसी कॉन्फ़िगरेशन का कोई उदाहरण होगा? मैं एक "कम अच्छी तरह से लागू प्लगइन" बनाने की कोशिश कर रहा हूं जो कोड उत्पन्न करता है लेकिन मुझे "क्लाइंट" पक्ष में कॉन्फ़िगर किए बिना आउटपुट निर्देशिका को शामिल करने का सबसे अच्छा तरीका नहीं मिल रहा है। –

+0

@ रेमीम शायद [यह उत्तर] (http://stackoverflow.com/a/19682602/254477) मदद करता है? – ArtB

+1

@ पास्कल '/ target/जेनरेट-स्रोत/'के बारे में क्या है, क्या इसे बिल्ड पथ के साथ भी जोड़ा जाना चाहिए? – ArtB

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