2015-12-19 3 views
7

javac पर ओरेकल दस्तावेज कहता है कि -s स्विच उत्पन्न स्रोत फ़ाइलों को स्थानांतरित करने के लिए निर्देशिका निर्दिष्ट करने के लिए उपयोग किया जाता है। उन 'जेनरेट की गई स्रोत फाइलें' क्या हैं और उन्हें किसी की आवश्यकता क्यों होगी? मैंने हमेशा सोचा था कि स्रोत फाइलें मानव निर्मित द्वारा 'जेनरेट' थीं ...जावा कंपाइलर संदर्भ में 'जेनरेट की गई स्रोत फ़ाइलें' क्या हैं?

उत्तर

7

यह javac के Annotation Processing भाग से संबंधित प्रतीत होता है। जाहिर है, आप एनोटेशन प्रोसेसर जबकि Humanware-उत्पन्न स्रोत संकलन का उपयोग कर सकते हैं, और उन प्रोसेसर प्रसंस्करण कुछ एनोटेशन के हिस्से के रूप में स्रोत फ़ाइलें बना सकते हैं:

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

एक दौर के बाद जहां कोई नई स्रोत फाइलें उत्पन्न नहीं होती हैं, तो एनोटेशन प्रोसेसर को आखिरी बार बुलाया जाता है, ताकि उन्हें किसी भी शेष कार्य को पूरा करने का मौका दिया जा सके। अंत में, जब तक -प्रोक: केवल विकल्प का उपयोग नहीं किया जाता है, संकलक मूल और सभी जेनरेट की गई स्रोत फ़ाइलों को संकलित करता है।

+0

आह! समझ गया। मुझे ओरेकल के जावाएसई ट्यूटोटियल को अधिक ध्यान से पढ़ना चाहिए था। धन्यवाद। मैं आपके उत्तर को ऊपर उठाता हूं और इसे स्वीकार किए गए उत्तर के रूप में चिह्नित करता हूं। –

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