आपकी समस्या का स्पष्टीकरण 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 कार्यक्षमता का उपयोग करने के लिए माइग्रेट करेंगे।
क्या आपने इसे नए मेवेन 3.2.5 पर पुन: पेश करने का प्रयास किया है? मुझे maven 3.2.5 और निर्भरता-प्लगइन 2.10 पर चेतावनी नहीं मिली – andrii