2011-03-15 7 views
6

मैं अपने स्थानीय आईवी रिपॉजिटरी में मैन्युअल रूप से ल्यूसीन जार फ़ाइल जोड़ने की कोशिश कर रहा हूं। मेरे पास अन्य अपाचे जार हैं इसलिए मौजूदा फ़ोल्डर के तहत .ivy2 \ cache \ apache.org \ मैंने ल्यूसीन नामक एक फ़ोल्डर बनाया है और इसके अंदर जार नामक फ़ोल्डर है। मैंने जार फ़ोल्डर में ल्यूसीन 3.0.3.jar नामक जार रखा।मैन्युअल रूप से .ivy कैश में jar फ़ाइल जोड़ने में असमर्थ

<?xml version="1.0" encoding="UTF-8"?> 

<ivy-module version="1.0"> 
    <info organisation="apache.org" module="lucene" revision="3.0.3" status="release" publication="20090416105712"> 
    </info> 
    <publications> 
     <artifact name="lucene-3.0.3" type="jar" ext="jar"/> 
    </publications> 
</ivy-module> 

मैं तो ऐसे ही एक परियोजना से संदर्भित करने के लिए प्रयास करें::

<dependency org="apache.org" name="lucene" rev="3.0.3"/> 

लेकिन मैं मिल अगला चरण मैं Lucene फ़ोल्डर में निम्नलिखित लताओं से 3.0.3.xml बना लिया है एक त्रुटि: "अनसुलझा निर्भरता: apache.org # ल्यूसीन; 3.0.3: नहीं मिला"

मैं अपने .ivy2 कैश फ़ोल्डर्स से अन्य निर्भरताओं को ढूंढने में सक्षम हूं, केवल यह है कि मैंने मैन्युअल रूप से बनाया है ।

मुझे कुछ भी याद आया है?

उत्तर

2

मैं मार्क से सहमत हूं, आपको फाइल को अपने कैश के बजाय अपने स्थानीय भंडार में रखना चाहिए। खासकर जब से उम्मीद है कि कैश किसी भी समय हटाया जा सकता है (और अक्सर)।

हालांकि, अपने प्रश्न को हल करने के लिए, आपकी त्रुटि का सबसे संभावित कारण यह है कि आपका फ़ोल्डर पदानुक्रम अपेक्षित पैटर्न से मेल नहीं खाता है। डिफ़ॉल्ट रूप से, कैश खर्च की गई थी इस प्रकार है:

[organisation]/[module]/[revision]/[type]s/[artifact].[ext] 

तो तुम उस त्रुटि को खत्म करने के लिए निम्न निर्देशिका में अपनी फ़ाइल को स्थानांतरित करना होगा:

.ivy2\cache\apache.org\lucene\3.0.3\jars\lucene.jar 

कभी कभी, डिफ़ॉल्ट पैटर्न बदल जाती है सेटिंग्स फ़ाइलों के आधार पर, अपेक्षित पैटर्न के निश्चित होने का एकमात्र तरीका अपने कैश में अन्य जारों को देखना है (उदाहरण के लिए, अभी, मेरे कैश में फ़ाइल नाम के अंत में [संशोधन] भाग है, अन्यथा, सभी और वही है)।

हालांकि, मैं मार्क के साथ सहमत हूं हालांकि, आप वास्तव में कैश में चीजों को मैन्युअल रूप से जोड़ना नहीं चाहते हैं। इसके बजाय, उन्हें डिफ़ॉल्ट स्थानीय भंडार में जोड़ें या बेहतर अभी तक, create your own basic repository.

+0

धन्यवाद। मुझे शायद यह उल्लेख करना चाहिए था कि मैं खुद को आत्म-प्रशिक्षित करने के लिए ऐसा कर रहा हूं कि कैसे आईवी काम करता है और केवल प्रयोग के लिए। मुझे पता है कि आईवी अपने संकल्पकों के आधार पर जार को भंडार से लेता है लेकिन सोचा कि मैं कोशिश करूँगा और नकल करूँगा कि यह क्या कर रहा है :) धन्यवाद – Joly

+0

खुश है कि मैं किसी भी तरह से उस समझ में मदद कर सकता हूं। संयोग से, मैं यह उल्लेख करना चाहता हूं कि आईवी सबसे अच्छा दस्तावेज उपकरण है जिसे मैंने कभी देखा है। उस साइट पर चारों ओर मछली जो मैंने उपरोक्त लिंक की है और आपको प्रत्येक आज्ञा के लिए आइवी के साथ-साथ बेहद उपयोगी उदाहरण मिलेंगे। मैं आइवी पिछड़ा और आगे जानता हूं और सबकुछ मुझे पता है, मैंने उस साइट से सीखा। – gMale

1

आईवी कैश एक भंडार नहीं है, यह एक कैश (मेवेन से अलग) है। कैश में मेटाडेटा फ़ाइलें होती हैं जो रिकॉर्ड करती हैं कि पहले आईवी ने पहले डाउनलोड किया था।

मैं सुझाव है कि आप कैश के साथ-साथ जो संग्रहीत (डिफ़ॉल्ट रूप से) आइवी लता के स्थानीय भंडार स्थान में फ़ाइलें रख:

$HOME/.ivy2/local 

तो अपने उदाहरण में जार की जरूरत है यहां संग्रहीत करने के लिए:

$HOME/.ivy2/local/org.apache/lucene/3.0.3/jars/lucene.jar