क्या आप <ivy:cleancache>
का उपयोग कर रहे हैं? यही कारण है कि आपके पुनर्निर्माण बहुत कम हैं, लेकिन आपके शुरुआती निर्माण इतने लंबे हैं।
आईवी बिना आइवी के उपयोग से धीमी गति से चलने वाला है। आइवी को आपके द्वारा निर्दिष्ट प्रत्येक जार को डाउनलोड करना होगा, साथ ही आइवी कैश में सभी निर्भरताओं को डाउनलोड करना होगा (जो विंडोज़ पर यूनिक्स/मैक/लिनक्स और %USERPROFILE%\.ivy2\cache
पर डिफ़ॉल्ट रूप से $HOME/.ivy2/cache
है) इससे पहले कि यह शुरू हो सके। आप 4 या 5 जार निर्दिष्ट कर सकते हैं, लेकिन ये उन पर निर्भर हो सकते हैं जो अधिक पर निर्भर हो सकते हैं।
वास्तव में जार की आइवी डाउनलोडिंग को गति देने का कोई तरीका नहीं है, लेकिन एक बार जार डाउनलोड हो जाने पर, वास्तव में आइवी कैश को हर बार एक नया करने के लिए हमेशा एक कारण नहीं है परियोजना, या जब आप एक साफ करते हैं।
आप क्या कर सकते सेटअप अपने स्वच्छ है, तो आप जब तक आप इसे निर्दिष्ट आइवी कैश सफाई से बचने कर सकते हैं:
<taskdef uri="http://ant.apache.org/ivy"
resource="org/apache/ivy/ant/antlib.xml">
<classpath>
<fileset dir="${ivy.dir}">
<include name="ivy*.jar"/>
</fileset>
</classpath>
</taskdef>
<property name="ivy.cleancache" value="false"/>
<target name="clean">
<if>
<istrue value="${ivy.cleancache}"/>
<then>
<ivy:cleancache/>
</then>
<if>
<delete dir="${target.dir}"/>
</target>
इस तरह, ant clean
चल अपने आइवी कैश हर बार साफ़ नहीं होगा, और आप इसे बार-बार उपयोग कर सकते हैं। यदि आप ऐसा करने की जरूरत है आप आइवी कैश साफ करने के लिए करना चाहते हैं:
ant -Divy.cleancache=true clean
हाँ, यह antcontrib
उपयोग कर रहा है। मैं अपने विशेष आईवी निर्देशिका कॉन्फ़िगरेशन का उपयोग सभी के लिए आइवी कॉन्फ़िगर करने के लिए करता हूं और जब मैं इसमें हूं, एंटी-कॉन्ट्रिब के लिए परिभाषाओं, प्लस फाइंडबग, पीएमडी और अन्य उपयोगी टूल शामिल करने के लिए।
हालांकि, यह चींटी 1.9 में ऐसा करने के लिए संभव नहीं हो सकता है:
<property name="ivy.cleancache" value="false"/>
<target name="clean">
<ivy:cleancache if:true="ivy.cleancache/>
<delete dir="${target.dir}"/>
</target>
मैं इस प्रयास नहीं किया है, लेकिन अगर यह काम करता है, आप antcontrib उपयोग करने के लिए नहीं है। बेशक, आप ऐसा भी कर सकता है:
<target name="ivy.cleancache"
if="ivy.cleancache">
<ivy:cleancache/>
</target>
<target name="clean"
depends="ivy.cleancache">
<delete dir="${target.dir}"
</target>
तो फिर तुम निर्दिष्ट कर सकते हैं:
$ ant -Divy.cleancache clean
डाल ant clean
आइवी कैश सफाई के बिना अपने निर्माण साफ करने के लिए अपने आइवी कैश को साफ करने और बस के लिए।
1. यदि आप नेक्सस या Artifactory की तरह अपने खुद के Maven भंडार का उपयोग जार को डाउनलोड करने की गति बढ़ा सकते हो सकता है। इनके पास अपना स्वयं का कैश होगा जो स्थानीय रूप से डाउनलोड किए गए थर्ड पार्टी जार स्टोर करेगा। इन तृतीय पक्ष जार को खोजने के लिए यह आपके नेटवर्क के बाहर जाने से थोड़ा तेज़ है, लेकिन उन्हें अभी भी डाउनलोड करना होगा। शायद 26 सेकंड लेने के बजाय, इसमें केवल 20 सेकंड लग सकते हैं।
बढ़ाने से कैश टीटीएल बहुत मदद करता है की कोशिश करो - पुनर्निर्माण बार 2s करने के लिए नीचे कर रहे हैं। मुझे लगता है कि अतिरिक्त दूसरा सिर्फ आईवी अक्षमता है। यद्यपि पूर्ण निर्माण (आबादी वाले कैश के साथ) कुछ कारणों से 20s हैं। कृपया एक उत्तर दें जिसे मैं चिह्नित कर सकता हूं। –