2012-03-23 12 views
6

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

जब मैं एसबीटी से एक इंटेलिजे आइडिया प्रोजेक्ट जेनरेट करने की कोशिश कर रहा था (आइडिया या जनरेटर प्लग-इन) सामान्य आइवी 2 कैश में संग्रहीत कैश किए गए पुस्तकालयों को ढूंढने में विफल रहा है। मैंने प्रोजेक्ट निर्देशिका के तहत डाउनलोड की गई लाइब्रेरी संग्रहीत पुरानी योजना का उपयोग करने के लिए एसबीटी परियोजना की स्थापना करके समस्या हल कर दी है। मेरा एक और प्रोजेक्ट पुराने एसबीटी संस्करण का उपयोग करता है जो डिफ़ॉल्ट रूप से इस तरह से करता है। दोनों ही मामलों में मैं clean आदेश का उपयोग सभी पुस्तकालयों फिर से डाउनलोड करने के लिए के बाद और update समर्थन से पहले पुस्तकालय बाइनरी दूर करने के लिए। जिसका अर्थ है कि मैं कई लाइब्रेरी फ़ाइलों को कई बार डाउनलोड करता हूं।

सवाल यह है कि लाइब्रेरी को कैश करने के लिए स्थानीय भंडार कैसे सेट अप करें ताकि एसबीटी अपडेट उपलब्ध होने पर स्थानीय कैश से पुस्तकालय डाउनलोड करेगा? यदि संभव हो तो कैश के लिए मौजूदा ~/.ivy2/cache निर्देशिका का उपयोग करना अच्छा लगेगा।

मुझे विश्वास है आप कम से कम बुनियादी आइवी 2 ज्ञान है जब यह शायद काफी सरल है करते हैं।

उत्तर

3

इवान, इस मदद मिल सकती है।

sbt 
> deliver-local 
[info] delivering ivy file to /.../target/scala-2.9.1/ivy-1.0.xml 

उसके बाद, आप इंटेलीजे बराबर चरणों को खोजने के लिए की आवश्यकता होगी, लेकिन ग्रहण में आप एक अतिरिक्त पुस्तकालय के साथ निर्माण पथ कॉन्फ़िगर करते हैं, "IvyDE प्रबंधित निर्भरता" IvyDE plugin

1) browse to the target/scala-version/ivy-1.0.xml file 
2) select desired configurations (compile, runtime, test, provided, etc.) 

अब आप द्वारा की पेशकश की अपने एसबीटी विन्यास का एक ivy प्रतिनिधित्व है।

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

पोस्ट करें अगर यह दृष्टिकोण IntelliJ

+0

पर लागू किया जा सकता है धन्यवाद, मैं इसे देख लूंगा। – Ivan