2.1 से पहले मेवेन के संस्करणों में, क्लाइंट को टाइमआउट पर कॉन्फ़िगर करने का कोई मतलब नहीं है, लेकिन यदि आप अद्यतन नीति सेट करते हैं तो आप इसे अद्यतनों की जांच के लिए कॉन्फ़िगर कर सकते हैं। यह आंशिक रूप से समस्या को संबोधित करता है।
उदाहरण के लिए:
<repository>
<id>myrepo</id>
<url>http://maven.mycompany.com/m2</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
मान्य मान हैं:
- हमेशा - हमेशा की जाँच जब Maven कभी नहीं स्नैपशॉट
- के नए संस्करणों के लिए शुरू कर दिया है - कभी नहीं नए दूरस्थ संस्करणों के लिए जाँच करें। मैन्युअल अपडेट बंद हो जाने के बाद।
- दैनिक (डिफ़ॉल्ट) - दिन के पहले रन पर जांच (स्थानीय समय)
- अंतराल: XXX - जाँच हर XXX मिनट
एक अन्य विचार सॉफ्टवेयर आप अपने आंतरिक भंडार की मेजबानी के लिए उपयोग कर रहे हैं । Nexus जैसे रिपोजिटरी मैनेजर के साथ आप प्रबंधक के माध्यम से अपने सभी बाहरी रिमोट रिपोजिटरी कनेक्शन प्रबंधित कर सकते हैं और उन दूरस्थ कनेक्शन के लिए टाइमआउट कॉन्फ़िगर कर सकते हैं। आपका ग्राहक तब केवल रिपोजिटरी मैनेजर से पूछताछ करेगा, जिसे टाइमआउट अनुमति के रूप में जितनी जल्दी प्रतिक्रिया देनी चाहिए।
अद्यतन:
क्या आप जानते हैं निर्भरता एक विशेष भंडार द्वारा प्रस्तुत किए जाना नहीं जा रहे हैं, तो आप इसे एक प्रोफाइल में अलग कर सकते हैं, तो यह है कि निर्माण में संदर्भित नहीं है।
<profiles>
<profile>
<id>remote</id>
<repositories>
<repository>
<id>central</id>
<url>http://repo1.maven.org</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
...
</repositories>
</profile>
<profile>
<id>internal</id>
<repositories>
<repository>
<id>myrepo</id>
<url>http://maven.mycompany.com/m2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
...
</repositories>
</profile>
</profiles>
ऊपर config के साथ
, mvn पैकेज -Premote आंतरिक भंडार से कनेक्ट नहीं होगा, इसलिए टाइमआउट एक कारक नहीं होगा चल रहा है।
आप अपनी सेटिंग को कुछ अतिरिक्त config जोड़कर प्रत्येक निर्माण पर प्रोफाइल निर्दिष्ट करने के लिए होने से बचने कर सकते हैं:
<settings>
...
<activeProfiles>
<activeProfile>internal</activeProfile>
<activeProfile>remote</activeProfile>
</activeProfiles>
...
</settings>
Maven 2 के लिए।1 आप (~/.m2/settings.xml
डिफ़ॉल्ट रूप से), उदाहरण के लिए Maven सेटिंग्स में एक सर्वर पर एक विन्यास जोड़ने, द्वारा समाप्ति सेट कर सकते हैं:
<server>
<id>myrepo</id>
<configuration>
<timeout>5000</timeout> <!-- 5 seconds -->
</configuration>
</server>
स्रोत
2009-07-22 22:04:13
ऐसा लगता है कि http://www.jroller.com/mrdon/entry/making_maven_2_not_suck इस पर कुछ प्रयास किए गए हैं, लेकिन मुझे इसका उपयोग कैसे नहीं किया जा सकता है। – rado