दिलचस्प पोस्ट
आप एक ही मेज पर कैसे जुड़ें, दो बार, mysql में? UIImage के लिए एक पिक्सेल अल्फा मान पुनर्प्राप्त करना एमपीआई पर 2 डी सरणी भेजना और प्राप्त करना पसंद करते समय सर्वोत्तम प्रकार की अनुक्रमण क्या एक jqgrid treegrid सेल के अंदर html होना संभव है क्या टेम्पलेट तर्क (हस्ताक्षर) std :: function भाग का प्रकार नहीं है? फ़ाइल या असेंबली को लोड नहीं किया जा सका या इसके निर्भरता में से एक स्काला कोड में विफलताओं को संसाधित करने के लिए या तो का उपयोग करना एक डेटा फ्रेम में कॉलम (ऑब्जेक्ट्स) को क्रमबद्ध करके समूह (क्वार्टिल्स, डिकाइल, इत्यादि) को जल्दी कैसे तैयार किया जाए त्रुटि 1452: बाल पंक्ति को जोड़ या अपडेट नहीं किया जा सकता है: एक विदेशी कुंजी बाधा विफल हो जाती है क्यों करता है '.sort ()' पायथन में 'कोई नहीं' सूची बनती है? "| =" क्या मतलब है? (पाइप बराबर ऑपरेटर) एंड्रॉइड होमस्क्रीन का विकास करना file.delete () भले ही file.exists (), file.canRead (), file.canWrite (), file.canExecute () सभी रिटर्न सच भी गलत रिटर्न जावा में फंक्शन पॉइंटर

आइवी, मास्टर कॉन्फिगरेशन क्या है और यह क्यों नहीं jvyaml खींच रहा है?

मेरे पास निम्न आईवी फाइल है:

<configurations defaultconfmapping="buildtime"> <conf name="buildtime" visibility="private" description="Libraries needed only for compilation" /> <conf name="runtime" description="Libraries only needed at runtime" /> <conf name="test" description="Libraries only needed for testing" /> </configurations> <dependencies> <dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime" /> <dependency org="org.apache.solr" name="solr-core" rev="3.6.0" conf="runtime" /> </dependencies> 

और मेरे पास चींटी का काम है जो इस तरह दिखता है:

 <target name="retrieve-all" depends="resolve"> <ivy:retrieve pattern="lib/[conf]/[artifact]-[revision].[ext]" conf="*" /> </target> 

अजीब बात यह है, कि सभी solr निर्भरता को lib / runtime में डाउनलोड की उम्मीद है, लेकिन jvyaml मॉड्यूल नहीं करता है! यह 'हल करता है', लेकिन lib / runtime निर्देशिका में डाउनलोड नहीं करेगा जब तक कि मैं निर्भरता घोषणा को बदल नहीं पाता:

 <dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime->master" /> 

यह मास्टर कॉन्फ़िगरेशन क्या है और क्यों इसे jvyaml जार खींचने की जरूरत है, लेकिन नहीं solr?

धन्यवाद

वेब के समाधान से एकत्रित समाधान "आइवी, मास्टर कॉन्फिगरेशन क्या है और यह क्यों नहीं jvyaml खींच रहा है?"

मैं आपके कॉन्फ़िगरेशन के पुनर्गठन का सुझाव देता हूं:

 <ivy-module version="2.0"> <info organisation="com.myspotontheweb" module="demo"/> <configurations> <conf name="compile" description="Libraries needed only for compilation" /> <conf name="runtime" description="Libraries only needed at runtime" extends="compile" /> <conf name="test" description="Libraries only needed for testing" extends="runtime" /> </configurations> <dependencies> <dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime->default" /> <dependency org="org.apache.solr" name="solr-core" rev="3.6.0" conf="runtime->default" /> </dependencies> </ivy-module> 

महत्वपूर्ण परिवर्तनों की शुरुआत की गई:

  1. अधिक मानक "संकलन" कॉन्फ़िगरेशन का उपयोग करें
  2. "विस्तार" विशेषता का उपयोग करके विन्यास विरासत । फिर से चलाने वाली और परीक्षण विन्यास दोनों में निर्भरता को संकलित कर सकते हैं।
  3. विन्यास मैपिंग का उपयोग करें , उदाहरण के लिए: conf = "runtime-> default" इससे यह स्पष्ट हो जाता है कि कौन सा स्थानीय विन्यास संबंधित रिमोट विन्यास के साथ जुड़ा हुआ है

कॉन्फ़िगरेशन मैपिंग समझाया

कॉन्फ़िगरेशन एक शक्तिशाली आईवी सुविधा है जब आइवे डाउनलोड्स मावेन मॉड्यूल को आंतरिक अनुवाद करता है और एक मानक सेट कॉन्फ़िगरेशन देता है, जो इस जवाब में सूचीबद्ध है:

  • आइवी द्वारा आईवी कॉन्फ़िगरेशन के लिए मेवेन स्कोप कैसे मैप किए गए हैं

किसी निर्भरता की घोषणा करते समय यह हमेशा एक कॉन्फ़िगरेशन मानचित्रण का उपयोग करने के लिए एक अच्छा विचार है, इसलिए इसमें कोई संदेह नहीं है कि निर्भरता कलाकृतियों को कहाँ सौंपा गया है।

उदाहरण के लिए:

 <dependency org="??" name="??" rev="??" conf="runtime->default" /> 

यहां हम कह रहे हैं कि हम अपने स्थानीय रनटाइम कॉन्फ़िगरेशन से जुड़े दूरस्थ मॉड्यूल की डिफ़ॉल्ट निर्भरता चाहते हैं।

व्यवहार में, केवल दो रिमोट कॉन्फ़िगरेशन मैपिंग हैं जिन्हें आपको वास्तव में आवश्यकता होगी:

  • डिफ़ॉल्ट : रिमोट मॉड्यूल की कलाकृतियां और इसके सभी रनटाइम ट्रांजिटिव निर्भरताएं हैं
  • मास्टर : रिमोट मॉड्यूल की कलाकृति केवल (कोई संवेदी निर्भरता नहीं)

अंत में, मुझे लगता है कि आपकी समस्या इस तथ्य से उत्पन्न हुई थी कि रिमोट मैवेन मॉड्यूल के "रनटाइम" क्षेत्र में मावेन मॉड्यूल के कलाकृति को शामिल नहीं किया गया है, इसके बजाय आप मॉड्यूल jvyaml की गैर-मौजूद संक्रमित निर्भरता प्राप्त कर रहे थे 🙁

कुछ अतिरिक्त सलाह

मैं भी एक आइवी निर्भरता प्रबंधन रिपोर्ट तैयार करने का सुझाव देता हूं, इस प्रकार है:

 <target name="init" description="Resolve dependencies and populate lib dir"> <ivy:resolve/> <ivy:report todir="${build.dir}/ivy-report" graph="false"/> <ivy:retrieve pattern="lib/[conf]/[artifact]-[revision].[ext]"/> </target> 

रिपोर्ट अलग-अलग विन्यासों पर निर्भर करती है कि प्रत्येक निर्भरता कैसे समाप्त होती है। यह भी निर्धारित करने के लिए वास्तव में उपयोगी है कि कैसे संवेदी निर्भरताएं प्रबंधित की जा रही हैं।

और अंत में, यहां कॉन्फ़िगरेशन विरासत का भुगतान किया जाता है, आइवी प्रबंधित एएनटी क्लासपाथ बनाने से:

 <target name="init" description="Resolve dependencies and set classpaths"> <ivy:resolve/> <ivy:report todir="${build.dir}/ivy-report" graph="false"/> <ivy:cachepath pathid="compile.path" conf="compile"/> <ivy:cachepath pathid="runtime.path" conf="runtime"/> <ivy:cachepath pathid="test.path" conf="test"/> </target> 

ध्यान दें कि मूल solr-core या तो पुनः प्राप्त नहीं किया गया है अपने संकल्प के बाद, कैश पर जाएं और दोनों मॉड्यूल के लिए ivy.xml फ़ाइलों की जांच करें।

आप देखेंगे कि वे अपने कलाकृतियों को केवल conf = master में प्रकाशित करते हैं

 <artifact name="jvyaml" type="jar" ext="jar" conf="master"/> <artifact name="solr-core" type="jar" ext="jar" conf="master"/> 

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

फिर भी, एकल-कोर की निर्भरता में, कॉन्फ़िगरेशन मानचित्रण है जैसा कि आप ivy.xml फ़ाइल में देख सकते हैं:

 <dependency org="org.apache.solr" name="solr-solrj" rev="3.6.0" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/> 

मुझे लगता है कि यह मास्टर (*) चीज़ है

मैं आमतौर पर जो कुछ करता हूं वह मेरी अपनी Ivy.xml फ़ाइल में होती है जब मैं निर्भरता घोषित करता हूं, मैपिंग करता हूं:

  <dependency org="net.java.dev" name="jvyaml" rev="0.2.1" conf="runtime->master" /> 

यह एक कहता है कि रनटाइम को नियत निर्भरता में मास्टर कॉन्फ़िगरेशन का इस्तेमाल करना चाहिए।

तुम यह कर सकते थे

 conf="runtime,test->master" 

भी