नेटवर्क के बीच घूमने वाले लैपटॉप के लिए स्वचालित प्रॉक्सी प्लगइन आदर्श लगता है। पर एक असुविधाजनक पहला अनुरोध है: Maven को प्लगइन ही पाने के लिए प्रॉक्सी की ज़रूरत पड़ सकती है।

प्लगइन लक्ष्य तभी चलता है जब Maven उसका कार्यान्वयन और आवश्यक आर्टिफ़ैक्ट हल करके लोड कर सके। उस कार्यान्वयन के भीतर प्रॉक्सी खोज ऐसे डाउनलोड की मदद नहीं कर सकती जो कार्यान्वयन शुरू होने से पहले विफल हो जाए। पूर्णतः योग्य प्लगइन निर्देशांक प्रीफ़िक्स खोज से बच सकते हैं; पर वे खाली स्थानीय रिपॉज़िटरी में प्लगइन आर्टिफ़ैक्ट नहीं दिखा देते।

पुराना Autoproxy Maven प्लगइन इस अंतर को दर्शाता है। उसका README proxy-vole के ज़रिए प्रॉक्सी खोज का वर्णन करता है, पर अपने लक्ष्य को कॉल करने से पहले प्लगइन को स्थानीय रूप से इंस्टॉल करने का भी वर्णन करता है। इसे उस विशेष डिज़ाइन की पूर्व शर्त मानें, इस बात का प्रमाण नहीं कि Maven सार्वभौमिक रूप से ब्राउज़र की PAC सेटिंग्स पढ़ता है।

पहले समाधान को स्पष्ट मार्ग दें

ऐसे नेटवर्क के लिए जहाँ रिपॉज़िटरी पहुँच के लिए HTTP प्रॉक्सी चाहिए, उस कॉल द्वारा उपयोग की जाने वाली Maven सेटिंग्स में उपयुक्त सक्रिय प्रॉक्सी कॉन्फ़िगर करें। स्वीकृत सार्वजनिक-रिपॉज़िटरी बूटस्ट्रैप के लिए, HTTP प्रॉक्सी सूची से कोई HTTP उम्मीदवार चुनें। बाहरी मार्ग के बिना पहुँचने योग्य स्वीकृत आंतरिक रिपॉज़िटरी भी शुरुआती पहुँच समस्या हल कर सकती है। किसी भी दृष्टिकोण को प्लगइन और उसकी निर्भरताएँ कवर करनी चाहिए, केवल एप्लिकेशन की निर्भरताएँ नहीं।

पहले से भरी स्थानीय रिपॉज़िटरी बूटस्ट्रैप आवश्यकता छिपा सकती है। किसी डेवलपर के लैपटॉप पर सफलता यह सिद्ध नहीं करती कि नया CI खाता वही निर्माण शुरू कर सकता है। प्लगइन का पहचान तर्क बदलने से पहले विफल आर्टिफ़ैक्ट और चरण देखें।

प्लगइन लोड होने के बाद, बाद की निर्भरता विफलता अलग प्रश्न बन जाती है: क्या उसका पता लगाया गया मार्ग सही है और क्या सक्रिय Maven ट्रांसपोर्ट परिणामी सेटिंग्स का उपयोग करता है। स्वचालित पहचान बनाए रखने लायक है या नहीं, यह तय करते समय उन दो विफलता बिंदुओं को अलग रखें।

संबंधित लेख