2015-04-02 6 views
6

के साथ असंगत हो सकता है, मैंने maven-dependency-plugin का उपयोग संस्करण 2.8 से 2.10 तक बदल दिया है।"वर्बोज़ आउटपुट प्राप्त करने के लिए मेवेन 2 निर्भरता पेड़ का उपयोग करना, जो वास्तविक मेवेन 3 रिज़ॉल्यूशन"

[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution 

मैं उपयोग कर रहा हूँ है

Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T18:37:52+01:00) 
  • मैं इसे ठीक है या यह किसी भी तरह से बचने कर सकते हैं Maven के संस्करण: अब, जब मैं mvn dependency:tree -Dverbose चलाने मैं निम्न चेतावनी देखते हैं?
  • क्या यह हमेशा ऐसा मामला था कि मेवेन 2 का उपयोग -Dverbose आउटपुट के लिए किया गया था, लेकिन केवल अब उन्होंने चेतावनी को जोड़ा है?
+0

क्या आपने इसे नए मेवेन 3.2.5 पर पुन: पेश करने का प्रयास किया है? मुझे maven 3.2.5 और निर्भरता-प्लगइन 2.10 पर चेतावनी नहीं मिली – andrii

उत्तर

7

आपकी समस्या का स्पष्टीकरण official documentation में पाया जा सकता:

वर्बोज़ शामिल करना है या नहीं छोड़े गए धारावाहिक निर्भरता पेड़ में नोड्स। इस सुविधा पर ध्यान वास्तव में उपयोग करता Maven 2 एल्गोरिथ्म और गलत परिणाम दे सकता है जब Maven के साथ इस्तेमाल किया 3.

संस्करण 2.10 के लिए लाइन TreeMojo.java 245 पर एक नज़र डालें: यह वास्तव में चेतावनी अगर प्रिंट

if (verbose) 
{ 
    // verbose mode force Maven 2 dependency tree component use 
    if (! isMaven2x()) 
    { 
     getLog().warn("Using Maven 2 dependency tree to get verbose output, " 
          + "which may be inconsistent with actual Maven 3 resolution"); 
    } 
    dependencyTreeString = 
     serializeVerboseDependencyTree(dependencyTreeBuilder.buildDependencyTree(project, 
                        localRepository, 
                        artifactFilter)); 
} 

मेवेन 2 का उपयोग नहीं किया जाता है।

अब संस्करण 2.8 के लिए लाइन TreeMojo.java की 243 को देखो:

if (verbose) 
{ 
    // verbose mode force Maven 2 dependency tree component use 
    dependencyTreeString = 
     serializeVerboseDependencyTree(dependencyTreeBuilder.buildDependencyTree(project, 
                        localRepository, 
                        artifactFilter)); 
} 

चेतावनी लॉगिंग वहाँ मौजूद नहीं है, तो:

यह हमेशा मामला है कि Maven 2 के लिए इस्तेमाल किया गया था था - Dverbose उत्पादन लेकिन केवल अब उन्होंने चेतावनी जोड़ा है?

हां, चेतावनी संस्करण 2.8 के बाद जोड़ा गया है।

क्या मैं इसे ठीक कर सकता हूं या किसी भी तरह से बच सकता हूं?

मुझे नहीं लगता कि यह चेतावनी लॉग संदेशों को अनदेखा किए बिना, या स्रोत कोड को संपादित किए बिना है।

हालांकि, जैसा कि आप देख सकते हैं, मैवेन 2 कार्यक्षमता पहले ही 2.8 में उपयोग की गई थी। उम्मीद है कि आप इसे बाद के संस्करणों में छुटकारा पायेंगे जब वे dependency:tree -Dverbose माइवेन 3 कार्यक्षमता का उपयोग करने के लिए माइग्रेट करेंगे।

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