नेक्सस खजाने के कई प्रकार के होते हैं: खजाने की मेजबानी (उन है कि वास्तव में Maven कलाकृतियों की दुकान), प्रॉक्सी खजाने (है कि अन्य दूरदराज के खजाने की ओर यातायात पुनर्निर्देशित जब एक विरूपण साक्ष्य अनुरोध किया जाता है), आभासी खजाने (एक मात्र maven1 भंडार के एडाप्टर [इस प्रश्न के दायरे से बाहर])। आप रिपोजिटरी समूह भी बना सकते हैं जो इसके किसी भी समेकन से कलाकृतियों की सेवा कर सकता है (public
भंडार इनमें से एक है)।
इसके अलावा, गठजोड़ स्नैपशॉट और विज्ञप्ति में अपने प्रकाशन नीति के अनुसार उनके खजाने बिताते हैं। पूर्व स्टोर केवल स्नैपशॉट कलाकृतियों; जबकि बाद में, सिद्धांत रूप में, स्नैपशॉट्स और रिलीज़ दोनों को स्टोर कर सकते हैं, लेकिन जब वास्तव में रेपो बहुत बड़ा होता है और इसमें स्नैपशॉट होते हैं तो यह वास्तव में छोटी गाड़ी का व्यवहार करता है।
के लिए अपने कलाकृतियों की मेजबानी करने के लिए आप की जरूरत करने के लिए:
पहले: दो भागों में अपने स्थानीय भंडार विभाजित: एक स्नैपशॉट युक्त, और एक अन्य विज्ञप्तियों वाली। नेक्सस भंडार रूपांतरण उपकरण आपको मदद मिलेगी अगर आपके रेपो बहुत बड़ा है:
<dependency>
<groupId>org.sonatype.nexus.tools</groupId>
<artifactId>nexus-repository-conversion-tool</artifactId>
<version>1.8.0.1</version>
<classifier>cli</classifier>
</dependency>
एक बार downlaoded तुम सिर्फ निष्पादित कर सकते हैं java -jar nexus-repository-conversion-tool-1.8.0.1-cli.jar -rSource -oTarget
जहां Source
निर्देशिका है कि स्थानीय भंडार गठजोड़ करने के लिए स्थानांतरित करने के लिए होता है, और Target
एक मौजूदा, रिक्त है और लिखने योग्य निर्देशिका जहां कनवर्टन उपकरण विभाजित भंडार छोड़ देगा। बशर्ते कि स्रोत निर्देशिका repository
है और लक्ष्य temp
है, यह temp/repository-snapshots
और temp/repository-releases
निर्देशिका बनाएगा।
दूसरा: अपने विभाजित रेपो को नेक्सस में ले जाएं। और उन्हें ${NEXUS_HOME}/sonatype-work/nexus/storage
में छोड़ दें, या जहां भी आपकी नेक्सस स्थापना भंडार को संग्रहीत करने के लिए कॉन्फ़िगर किया गया हो।
तीसरा: रेपोस आप दूसरे चरण में ले जाया गया के रूप में एक ही आईडी वाले दो की मेजबानी खजाने पैदा करते हैं। (उदाहरण में repository-snapshots
और repository-releases
)
यदि आपके रेपो में केवल रिलीज़ होंगे, तो आपका समाधान काम कर सकता था, लेकिन आप एक और गलती करेंगे।यद्यपि नेक्सस प्रत्येक भंडार के लिए कलाकृतियों को संग्रहित करता है, फिर भी उन लोगों का भंडारण जो मेजबान नहीं हैं, केवल कैशिंग उद्देश्यों के लिए है (जैसा कि public
भंडार के मामले में), आपको काम करने के लिए एक होस्टेड में अपनी सामग्री कॉपी करना होगा।
आपको यह भी विचार करना होगा कि आप अपने भंडार में किस तरह के कलाकृतियों की मेजबानी कर रहे हैं। नेक्सस स्पैनिशशॉट में रिपॉजिटरीज को विभाजित करता है और गीलेर के आधार पर रिलीज करता है, यह स्नैपशॉट कलाकृतियों को होस्ट करता है या रिलीज + स्नैपशॉट करता है। हालांकि यह – Miguel
ओह, मैंने आपका जवाब बहुत देर से पढ़ा। आपके दृष्टिकोण ने मुझे बहुत समय बचाया होगा, मुझे लगता है। मैंने स्नैपशॉट और रिलीज कलाकृतियों को भी अलग किया और फिर मैन्युअल रूप से उन्हें संबंधित नेक्सस रिपॉजिटरीज़ में ले जाया गया। मुझे किसी भी तरह से क्ली का उपयोग करके प्रत्येक रिलीज आर्टिफैक्ट को तैनात करना पड़ा। स्नैपशॉट्स के लिए नेक्सस कैश को पुन: अनुक्रमणिका करने के लिए पर्याप्त था। धन्यवाद! – mamuesstack