2009-06-23 34 views
11

के माध्यम से आइवी जानता है कि क्या मैं जानता हूं कि मैं आइवी में दर्पण/दर्पण की तरह कुछ कैसे निर्दिष्ट करूं? मैं एक स्थानीय मेवेन प्रॉक्सी (नेक्सस) के साथ काम कर रहा हूं और यह निर्दिष्ट करने के लिए टूल की आवश्यकता है कि कौन से मूल भंडारों को नेक्सस प्रॉक्सी एक्सेस करना चाहिए।नेवीस प्रॉक्सी

Maven में मैं बस कार्य करें:

<mirrors> 
    <mirror> 
    <id>central-mirror</id> 
    <mirrorOf>central</mirrorOf> 
    <url>http://localhost:8081/content/repositories/central</url> 
    </mirror> 
</mirrors> 

लेकिन मैं आइवी में विकल्प इस तरह का नहीं मिल रहा।

उत्तर

6

मुझे नहीं लगता कि ऐसा विकल्प सीधे मौजूद है। आप chain को लागू करने का प्रयास कर सकते हैं, और उस श्रृंखला में केंद्रीय से पहले अपने नेक्सस भंडार को रख सकते हैं। अगर मैं समझता हूं कि चेन सही ढंग से कैसे काम करते हैं (यह एक बड़ा है तो), आइवी केंद्रीय से पहले अपने भंडार की जांच करेगा, इसलिए जब तक आपके भंडार में प्रासंगिक सामग्री की आवश्यकता नहीं होगी, तब तक केंद्रीय की आवश्यकता नहीं होगी।

विवरण के लिए tutorial देखें।

+1

धन्यवाद - यही वह है जिसे मैं डरता हूं। मैवेन के साथ काम करने के बाद आइवी सिर्फ मेरी उम्मीदों पर नहीं रहता है। –

+2

आइवी के पास निर्भरता प्रबंधन के करीब आने का एक अलग तरीका है। मार्क की टिप्पणी के लिए –

+6

-1। यह एक अलग तरीका नहीं है, यह एक लापता विशेषता है। एक समानता के रूप में: कल्पना कीजिए कि आप ऐसे ब्राउज़र का उपयोग कर रहे हैं जिसमें 'प्रॉक्सी कॉन्फ़िगरेशन' के लिए कोई सेटिंग नहीं है, इसका मतलब यह नहीं है कि यह एक अलग तरीके से वेब ब्राउज़िंग तक पहुंचता है, इसका मतलब है कि सॉफ़्टवेयर अनुपयोगी है (हैक के बिना) जब आपको वास्तव में आवश्यकता होती है एक प्रॉक्सी सेट करें। –

-1

मैंने ऐसा किया है लेकिन आर्किवा के साथ, यह बहुत समान है।

<chain name="private"> 
<url name="archiva" m2compatible="true"> 
    <ivy pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/ivy.xml" /> 
    <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
    <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact].[ext]" /> 
    </url> 
</chain> 
+1

प्रॉक्सीइंग प्राप्त करने के लिए आर्किवा का उपयोग प्रश्न के दायरे में नहीं है। आप इसे कई अलग-अलग तरीकों से कर सकते हैं। समस्या यह है कि आईवी से उसी तरह से इसका इस्तेमाल किया जाता है, इसका उपयोग मैवेन में किया जाता है। –

+0

मुझे नहीं लगता कि इस तरह का एक विकल्प आइवी में मौजूद है। –

-1

Archiva का प्रबंधन करता है Maven 2 खजाने (Maven मेटा डेटा के साथ कलाकृतियों) वहां आम तौर पर आइवी मेटा डेटा (ivy.xml) नहीं है: आप केवल एक नई श्रृंखला में घोषित करने के लिए निम्नलिखित है। और मेवेन 2 लेआउट [संगठन]/[मॉड्यूल]/[संशोधन]/[आर्टिफैक्ट] - [संशोधन]। [Ext]।

हम केवल निम्नलिखित जानकारी प्रदान करने के लिए है

<url name="archiva" m2compatible="true"> 
    <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
    </url> 
</chain> 

या

<settings defaultResolver="archiva"/> 
    <resolvers> 
<ibiblio name="archiva" m2compatible="true" root="http://.../archiva/repository/internal/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/> 
    </resolvers> 
+0

प्रॉक्सिंग प्राप्त करने के लिए आर्किवा का उपयोग प्रश्न के दायरे में नहीं है। आप इसे कई अलग-अलग तरीकों से कर सकते हैं। समस्या यह है कि आईवी से उसी तरह से इसका इस्तेमाल किया जाता है, इसका उपयोग मैवेन में किया जाता है। –

8

आप करता है कि आप क्या चाहते हैं एक सार्वजनिक समाधानकर्ता बनाने की जरूरत (अधिक जानकारी @Ivy docs)

मूल रूप से निम्न स्निपेट को $ USERHOME/.ivy2/ivysettings-public.xml के अंतर्गत सहेजें। यह काम कर जाना चाहिए।

<ivysettings> 
    <resolvers> 
    <ibiblio name="public" m2compatible="true" root="http://localhost:8081/content/groups/public"/> 
    </resolvers> 
</ivysettings> 
  • असंशोधित मानक स्थापना URL में 'गठजोड़' है!
  • यदि आपको कलाकृतियों को तैनात करने की आवश्यकता है, तो मुझे लगता है कि समाधान साझा रिज़ॉल्वर के समान कुछ करना है (उपरोक्त दस्तावेज़ों के लिंक देखें), लेकिन मैंने कोशिश नहीं की है।
  • मैंने मानक 'सामग्री/समूह/सार्वजनिक' को हल करने के लिए अपना स्थानीय यूआरएल बदल दिया जो कि बेहतर है क्योंकि ऊपर से ऊपर मेवेन सेटिंग खंड में आप दर्पण के माध्यम से सभी कॉल पास कर रहे हैं, न केवल केंद्र के लिए। नेक्सस यूआई में उस समूह में बस कोई अतिरिक्त रिपॉजिटरीज जोड़ें जैसे वे आते हैं और आपको ठीक होना चाहिए।
  • अपनी परियोजना लोड यदि यह खुद ivysettings जो चूक का सम्मान नहीं करता है, तो इन सेटिंग लोड नहीं हो जाएगी और आप फिर से शून्य :(
+1

मैं इसे आज़माउंगा लेकिन ऐसा लगता है कि प्रोजेक्ट की ivysettings.xml पूरी तरह से उपयोगकर्ता की कॉन्फ़िगरेशन को ओवरराइड करता है, यह मेरे लिए उपयोगी नहीं होगा। लेकिन फिर भी धन्यवाद! –

+0

इसके साथ समस्या यह है कि किसी को प्रोजेक्ट को रिपोजिटरी से प्राप्त करने में सक्षम होना चाहिए और बस इसे बनाना चाहिए। स्थानीय पर्यावरण में किसी भी संशोधन के साथ यह सब खिड़की पर है ... लेकिन आपकी प्रतिक्रिया के लिए वैसे भी धन्यवाद! –

+0

इस तकनीक को https://svn.apache.org/repos/asf/ant/core/trunk/[email protected]#checkstyle के साथ आजमाया और ऐसा कोई प्रभाव नहीं प्रतीत होता; संदेशों को "http: //repo1.maven.org/maven2/..." डाउनलोड करने के लिए संदर्भित किया गया है। –

2

यह मैं कैसे यह काम किया जाता है पर वापस आ गए हैं (है @Heron से जवाब मेरे लिए काम नहीं किया था):

<ivy:settings file="/Users/wdb/.ivy2/ivysettings-public.xml" /> 
0: चींटी निर्माण से

<ivysettings> 
    <settings defaultResolver="default"/> 
    <property name="m2-pattern" value="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" override="false" /> 
    <resolvers> 
    <chain name="default"> 
     <ibiblio name="public" m2compatible="true" root="http://nexus-server:8081/nexus/content/groups/public"/> 
    </chain> 
    </resolvers> 
</ivysettings> 

refere इसे करने के लिए:

इस सामग्री के साथ एक फ़ाइल बनाएँ

आइवी अब मेरे नेक्सस भंडार से निर्भरताओं को हल करने में सक्षम है।