निम्न दो जावा वर्गों पर विचार करें:अक्षम संकलन समय निर्भरता जब जावा वर्गों के संकलन की जाँच
a.) class Test { void foo(Object foobar) { } }
b.) class Test { void foo(pkg.not.in.classpath.FooBar foobar) { } }
इसके अलावा, मान लेते हैं कि pkg.not.in.classpath.FooBar
classpath में नहीं मिला है।
प्रथम श्रेणी मानक जावैक का उपयोग करके ठीक संकलित करेगी।
हालांकि, दूसरी कक्षा संकलित नहीं होगी और जावैक आपको त्रुटि संदेश "package pkg.not.in.classpath does not exist"
देगा।
त्रुटि संदेश आपके निर्भरता की जाँच के बाद सामान्य स्थिति में अच्छा है संकलक में बताने के लिए अगर आप कुछ विधि तर्क गलत, आदि
मिला जबकि अच्छी और उपयोगी संकलन समय पर निर्भरता के इस जाँच की अनुमति देता है AFAIK सख्ती से उपरोक्त उदाहरण में जावा क्लास फ़ाइल उत्पन्न करने के लिए आवश्यक नहीं है।
आप किसी भी उदाहरण है जिसके लिए यह तकनीकी रूप से संकलन समय निर्भरता की जाँच के बिना प्रदर्शन एक वैध जावा वर्ग फ़ाइल उत्पन्न करने के लिए असंभव हो जाएगा दे सकते हैं?
क्या आप संकलन समय निर्भरता जांच को छोड़ने के लिए जावैक या किसी अन्य जावा कंपाइलर को निर्देश देने के किसी भी तरीके से जानते हैं?
कृपया सुनिश्चित करें कि आपका उत्तर दोनों प्रश्नों को संबोधित करता है।
एकमात्र (प्रदर्शनकर्ता) वर्कअराउंड एक 'मेथडहैंडल' को देखने के लिए है, इसे 'स्थिर अंतिम' फ़ील्ड में संग्रहीत करें और एमएच पर सही प्रकार के संकेतों के साथ 'invokeExact() 'का उपयोग करें।यदि आप इसे कुछ तरीकों से अधिक के लिए चाहते हैं तो यह काफी कठिन है। – the8472