2009-06-09 17 views
41

में मेवेन अपडेट निर्भरता पीओएम में निर्भरताओं को अद्यतन करने के लिए कोई पूर्ववर्ती मेवेन प्लगइन्स या कमांड हैं? उदाहरण: (यदि यह मेरा पोम में था)पीओएम

<dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.3</version> 
</dependency> 

वहाँ एक आदेश या प्लगइन मैं इसे करने के लिए निर्भरता अद्यतन करने के लिए प्राप्त करने के लिए चला सकते हैं है:

<dependency> 
    <groupId>commons-lang</groupId> 
    <artifactId>commons-lang</artifactId> 
    <version>2.4</version> 
</dependency> 
+2

अगर एक प्लगइन बस अद्यतन के लिए जाँच करें और मुझे उनके बारे में सूचित करेंगे मैं पूरी तरह से खुशी होगी Diff।प्लगइन के नए संस्करणों के लिए एक ही जांच भी साफ होगी। – Huxi

+1

मैं सोच रहा हूं कि मोजो के लक्ष्यों में से एक हो सकता है जिसे मैं बनाऊंगा। – javamonkey79

उत्तर

50

में संस्करण को बदलने की जरूरत maven-versions-plugin प्रयास करें विशेष रूप से,, versions:use-latest-versions लक्ष्य।

+3

यह पोस्टर ने अनुरोध किया है, हालांकि मुझे लगता है कि अधिकांश मामलों में उपयोग-नवीनतम-रिलीज बेहतर है। लेकिन यह निश्चित रूप से उपयोग करने के लिए प्लगइन है। –

+5

डांग, अब मैंने इसे पहले ही बनाया है! मुझे लगता है कि यह कहता है, "जब तक आप पहियों के बारे में बहुत कुछ नहीं सीखना चाहते हैं तब तक पहियों को फिर से न लगाएं"। :) धन्यवाद! – javamonkey79

+0

यूप - मुझे उपयोग-नवीनतम रिलीज याद आया। धन्यवाद, जैक। –

1

नहीं है नहीं है। और खुश रहो वहाँ नहीं है। इस तरह के उपकरण को आपकी निर्भरताओं को अपग्रेड करने का तरीका कैसे पता चलेगा?

नाबालिग संस्करणों के बीच संभवतः ब्रेकेज होने के साथ, यह होने का इंतजार एक आपदा होगी।


लेकिन आप इसके लिए हमेशा write your own Mojo कर सकते हैं।

  • Maven रिपोजिटरी से निर्भरता का नवीनतम संस्करण प्राप्त
  • pom.xml
  • पुनर्लेखन pom.xml
  • रन mvn test
  • से संस्करण के साथ तुलना?
  • लाभ!
+0

मुझे लगता है कि यह नीचे आ जाएगा - मैं वैसे भी करने के लिए एक मोजो परियोजना की तलाश कर रहा हूं, धन्यवाद। – javamonkey79

+0

यह हमेशा सुनना एक अच्छी बात है। यदि आप ओपन सोर्स रास्ते पर जाने का फैसला करते हैं तो एक लिंक पोस्ट करना सुनिश्चित करें। –

+1

यह एक बार सच हो सकता है, लेकिन अब नहीं है (@Robert: सुझाव है कि आप अपना उत्तर परिशोधित करें?)। –

4

आप अपने माता पिता पोम में dependencyManagement उपयोग कर सकते हैं:

<dependencyManagement> 
     <dependencies> 
      <dependency> 
       <groupId>commons-lang</groupId> 
       <artifactId>commons-lang</artifactId> 
       <version>2.4</version> 
      </dependency> 
     </dependencies> 
</dependencyManagement> 

इस तरह से, आप केवल एक बार माता पिता पोम

+1

यह कुछ टूल अपडेट सामग्री को उन तरीकों से पसंद करना पसंद करता है जिन पर आप नियंत्रण कर सकते हैं या नहीं। आप यह भी गारंटी देते हैं कि सभी बच्चे निर्दिष्ट संस्करण का उपयोग करेंगे। –

+2

@ माइकपोन उपयोग के मामले पर निर्भर करता है - वैध हैं, जैसे तैनाती पोम होने की तरह, जो हमेशा अपने स्वयं के कलाकृतियों की नवीनतम रिलीज का उपयोग करने की आवश्यकता होती है, जो एक आम आवश्यकता है। सामान्य रूप से, ज़ाहिर है, आप सही हैं। – eis

24

मैं mvn versions:display-dependency-updates का उपयोग करना पसंद करता हूं; यह एक रिपोर्ट उत्पन्न करता है कि किस निर्भरता को अपग्रेड किया जा सकता है, लेकिन आपको पीओएम को स्वयं संशोधित करने देता है। प्लगइन के लिए डिस्प्ले-प्लगइन-अपडेट कमांड भी है।

+1

बहुत उपयोगी! धन्यवाद ... – kazanaki

+1

लिंक मर चुका है – FDinoff

+1

मेरे लिए काम करता है! किसी कारण से लिंक हमेशा मुझे मोोजो होमपेज पर ले जाता है, मैं यहां लिंक पेस्ट करूंगा: http://www.mojohaus.org/versions-maven-plugin/display-dependency-updates-mojo.html – Liuting

2

व्यक्तिगत रूप से, मुझे लगता है कि मेवेन में एक अतिरिक्त पैरामीटर होना चाहिए जो आपको pom.xml में जोड़ने की अनुमति देगा।

पोस्ट देखें http://maven.40175.n5.nabble.com/Is-there-any-maven-plugin-to-add-dependency-to-existing-pom-xml-td2839092.html#a5772853

यहाँ पर, आप अपने pom.xml फ़ाइल के लिए निम्न जोड़ सकते हैं:

<project> 
    ... 
    <build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>versions-maven-plugin</artifactId> 
     <version>2.1</version> 
     </plugin> 
     ... 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 

...

तब बैकअप अपने pom.xml संस्करण के माध्यम से फ़ाइल सेट कमांड:

mvn versions:set -DnewVersion=9.9.9 

नवीनतम बनाम चलाएं आयनों:

mvn versions:use-latest-versions 

और pom.xml फ़ाइलें, pom.xml और pom.xml.versionsBackup

संबंधित मुद्दे