2009-06-14 25 views
10

मेरे पास मेवेन के सर्वोत्तम प्रथाओं और प्रबंधन भंडारों के बारे में कुछ प्रश्न हैं।मेवेन बेस्ट प्रैक्टिस

मेरे पर्यावरण में, मैं केंद्रीय मैवेन भंडार में जाना नहीं चाहता बल्कि सभी आंतरिक भंडार में स्टोर करना चाहता हूं। क्या मुझे बस प्रत्येक उपयोगकर्ता को सेटिंग्स.xml फ़ाइल में जानकारी डालने की आवश्यकता है जो स्नैपशॉट्स या मैवेन रिपोजिटरी से रिलीज़ का उपयोग करने में अक्षम करता है या यह पीओएम फाइल में होना चाहिए?

इसके अलावा, मैं सभी को एक ही कॉर्पोरेट भंडार में जाना चाहता हूं। क्या इस भंडार जानकारी को पोम में या settings.xml में रखा जाना चाहिए? यदि यह पोम में है, तो मैवेन को भंडार में कैसे जाना होगा क्योंकि इसे पहले से ही पता होना चाहिए कि पोप प्राप्त करने के लिए भंडार कहां है?

उत्तर

6

एक बड़ी परियोजना में, कई भंडार होना सर्वोत्तम है।

  1. कंपनी प्रॉक्सी/कैश donwloaded जार स्थानीय रूप से संग्रहीत इतना है कि कंपनी बाहरी साइटों की उपलब्धता पर निर्भर नहीं बन जाता है जाएगा। इसे सामान्य भंडार की तरह एक्सेस किया जाता है लेकिन यह सार्वजनिक भंडारों का प्रवेश द्वार है।

  2. जारी पुस्तकालयों के लिए कंपनी भंडार प्रतिबंधित है, इसमें आंतरिक पुस्तकालय शामिल हैं। ये ढांचे हैं जो परियोजना भंडार से कंपनी भंडार में "प्रचारित" हैं क्योंकि वे सभी परियोजनाओं के लिए उपयोगी हो सकते हैं।

  3. परियोजना भंडारों में परियोजना द्वारा उपयोग की जाने वाली कलाकृतियों में शामिल हैं। इसमें उप परियोजना कलाकृतियों और इतने पर शामिल हो सकते हैं। एक परियोजना में प्रत्येक डेवलपर यहां कुछ प्रकाशित करने में सक्षम होना चाहिए।

जहां आप सेटिंग डालते हैं, स्वाद का विषय है। मैंने इन चीजों को settings.xml में रखा है। क्योंकि यदि आंतरिक भंडारों का पता बदल जाता है तो आपको अन्यथा परियोजनाओं को संशोधित करना होगा।

+0

यह सब सही है - मैं सभी के लिए एक अच्छा समाधान के लिए गठजोड़ (http://nexus.sonatype.org/) में देख सलाह देते हैं उपरोक्त। –

+0

धन्यवाद। मैं अपनी सादगी के लिए अपाचे के आर्किवा का उपयोग कर रहा हूं, लेकिन मैं नेक्सस को भी देख रहा हूं। हम अभी एक बहुत ही छोटी परियोजना पर हैं, बस इन चीजों को जल्दी से शुरू करने की कोशिश कर रहे हैं। नेक्सस पर –

+1

+1। सेट अप और ऑपरेट करना बहुत आसान है। –

10

चरण एक: अपने LAN में किसी सर्वर पर नेक्सस स्थापित करें। यह उत्कृष्ट है - स्थापित करने में आसान (वास्तव में, बस कुछ मिनट!) और ठोस। हमारे पास ~ 50 इंजीनियरों और कई सीआई सर्वर पूरे दिन बैंगन कर रहे हैं और यह कई महीनों तक स्थिर रहा है। आइए मान लें कि आपने इसे अपने DNS में "nexus.local" नामक सर्वर पर इंस्टॉल किया है।

चरण दो: http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html से settings.xml कॉपी के रूप में आवश्यक होस्ट नाम तय, अपने स्रोत कोड प्रणाली के लिए यह प्रतिबद्ध है, और उनके ~/.m2/settings.xml में कॉपी करने के लिए अपने सभी डेवलपर्स बताओ।

चरण तीन: अपने प्रोजेक्ट के pom.xml को ठीक से सेट करें।

<distributionManagement> 
    <snapshotRepository> 
     <id>nexusSS</id> 
     <name>Nexus Snapshot Repository</name> 
     <url>http://nexus.local:8081/nexus/content/repositories/snapshots</url> 
    </snapshotRepository> 
    <repository> 
     <id>nexusRelease</id> 
     <name>Nexus Release Repository</name> 
     <url>http://nexus.local:8081/nexus/content/repositories/releases</url> 
    </repository> 
    </distributionManagement> 

चरण चार:: आप एक "जनक पोम" है कि एक "distributionManagement" खंड है कि कुछ इस तरह दिखता परिभाषित करता है चाहता हूँ सक्षम करें "mvn तैनात" - (http://nexus.local:8081/nexus की तरह कुछ अपने गठजोड़ यूआई के लिए जाना), उपयोगकर्ताओं पर क्लिक करें, "तैनाती" पर क्लिक करें, और इसे एक पासवर्ड दें। तब अपने ~/.m2/settings.xml संपादित करें और इस जोड़ें:

<settings> 
    ... 
    <servers> 
    <server> 
     <id>nexus</id> 
     <username>deployment</username> 
     <password>PASSWORD</password> 
    </server> 
    </servers> 
</settings> 

चेक कि यह चल रहा है "mvn तैनात" से काम करता है, और आप गठजोड़ में अपने प्रोजेक्ट की कलाकृतियों स्थापित करना चाहिए था।

चरण पाँच: Maven के लिए इस उत्कृष्ट प्रलेखन पढ़ें: http://www.sonatype.com/products/maven/documentation/book-defguide

+2

"चरण चार" के लिए क्या आप सर्वर की आईडी को चरण तीन में वितरण प्रबंधन में आईडी से मेल नहीं करना चाहते हैं? – Nicholas

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