मुझे यही समस्या है, और मैंने इसे करने के लिए शेल में एक-लाइनर लिखा।
rm -rf $(mvn help:evaluate -Dexpression=settings.localRepository\
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN -B \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | grep -vF '[INFO]')/*
मैंने इसे वन-लाइनर के रूप में किया क्योंकि मैं चाहता था कि जेनकींस-प्रोजेक्ट को बस इसे चलाने के लिए जब भी मुझे ज़रूरत हो, इसलिए मुझे सामान आदि पर लॉग इन नहीं करना होगा, यदि आप खुद को इसके लिए एक शेल-स्क्रिप्ट की अनुमति देते हैं, तो आप इसे क्लीनर लिख सकते हैं:
#!/usr/bin/env bash
REPOSITORY=$(mvn help:evaluate \
-Dexpression=settings.localRepository \
-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN \
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
--batch-mode \
| grep -vF '[INFO]')
rm -rf $REPOSITORY/*
काम करना चाहिए, लेकिन मैंने उस स्क्रिप्ट का सभी परीक्षण नहीं किया है। (मैंने पहली कमांड का परीक्षण किया है, लेकिन पूरी स्क्रिप्ट का नहीं।) इस दृष्टिकोण में पहले एक बड़े जटिल कमांड को चलाने का नकारात्मक पहलू है। यह एक प्रकार का वृक्ष है, इसलिए आप इसे अपने लिए परख सकते हैं। विलोपन इसके बाद की अपनी आज्ञा है, और इससे आप इसे आज़मा सकते हैं और जाँच सकते हैं कि यह वही करता है जो आपको लगता है कि यह करता है, क्योंकि आपको सत्यापन के बिना हटाए गए आदेशों पर भरोसा नहीं करना चाहिए। हालांकि, यह एक अच्छे कारण के लिए स्मार्ट है: यह पोर्टेबल है। यह आपकी settings.xml फ़ाइल का सम्मान करता है। यदि आप इस कमांड को चला रहे हैं, और एक विशिष्ट xml फ़ाइल (-s या --settings तर्क) का उपयोग करने के लिए मावेन को बताएँगे, तब भी यह काम करेगा। इसलिए आपको यह सुनिश्चित करने की ज़रूरत नहीं है कि हर जगह सब कुछ एक जैसा हो।
यह थोड़ा संभलकर चलने वाला है, लेकिन यह व्यवसाय करने का एक अच्छा तरीका है, IMO।
-U
ध्वज की कोशिश की है जो कलाकृतियों को अपडेट करेगा?