2015-10-06 7 views
7

जब मेरे निर्भरता वृक्ष में एक बार एक निर्भरता सूचीबद्ध होती है, भले ही उस निर्भरता के सभी संस्करण समान हों, ग्रहण (पीओएम के निर्भरता पदानुक्रम टैब में) कहेंगे कि सभी एक हैं "(संघर्ष के लिए छोड़ा गया XXX के साथ) "। समूह आईडी, आर्टिफैक्ट आईडी, और संस्करण सभी समान होंगे।एक्लिप्स मैवेन क्यों कह रहा है कि एक ही संस्करण की निर्भरता विरोधाभासी है?

यहां यादृच्छिक रूप से चुनी गई निर्भरता के साथ एक सरल उदाहरण है। मेवेन मॉडल और मेवेन-आर्टिफैक्ट नोटिस करें।

maven-core dependency conflict same versions

मैं ग्रहण मंगल ग्रह (4.5.0) का उपयोग कर रहा

यह किसी भी यूआई में भ्रामक संदेश के अलावा कुछ भी पर प्रभावित करते हैं, के लिए प्रतीत नहीं होता। यह जगह पर "संघर्ष के लिए छोड़ा गया ..." देखने के लिए बहुत ही परेशान है, खासकर अगर मैं असली संघर्ष देखना चाहता हूं।

उत्तर

8

ग्रहण की "निर्भरता पदानुक्रम" टैब M2Eclipse प्लगइन द्वारा पॉप्युलेट किया गया है। और, दुर्भाग्यवश, ऐसा लगता है कि यह M2Eclipse प्लगइन source code के अंदर हार्ड-कोड किया गया है। जो भी कारण निर्भरता छोड़ी गई थी (डुप्लिकेट, संस्करण संघर्ष ...), M2Eclipse प्लगइन लेबल "विवाद के लिए छोड़ा गया" लेबल जोड़ देगा।

ध्यान दें कि यह maven-dependency-plugin के tree लक्ष्य का मामला नहीं है, जिससे यह टैब आउटपुट की नकल करता है। डिफ़ॉल्ट रूप से, mvn dependency:tree कमांड निर्भरता प्रदर्शित नहीं करेगा जो छोड़े गए थे। यदि verbose ध्वज true पर सेट किया गया है, तो आउटपुट प्रत्येक निर्भरता को दिखाएगा जो छोड़ा गया था: किसी दूसरे का डुप्लिकेट होना; किसी अन्य संस्करण और/या दायरे से विवादित; और निर्भरता पेड़ में एक चक्र शुरू करना।

मुझे इसके लिए कोई बग नहीं मिल सका ताकि आप एक वृद्धि अनुरोध, through their Bugzilla दर्ज कर सकें, यह पूछने के लिए कि प्लगइन dependency:tree के आउटपुट के साथ अधिक पालन करता है (उदाहरण के लिए असली कारण दिखा रहा है कि निर्भरता छोड़ी गई थी, इसके बजाए वर्तमान डिफ़ॉल्ट) और वर्बोज़ के बीच स्विच करने के लिए एक विकल्प जोड़ने के लिए और वर्बोज़ मोड नहीं।

+1

आह, डार्न। लिंक के लिए धन्यवाद, और मुझे निर्भरता दिखाने के लिए: पेड़ लक्ष्य। बीटीडब्लू अगर कोई उत्सुक है, तो मैं देखता हूं कि उन्होंने कोड को बदल दिया है (मैं यह उल्लेख करना भूल गया था कि उसने ग्रहण के पिछले संस्करण के साथ ऐसा नहीं किया है, इसलिए मुझे उम्मीद है कि यह अलग-अलग कार्य करेगा): https://github.com/ग्रहण/एम 2 ई-कोर/प्रतिबद्ध/85527e1eb1638654d8f33a7106900ef9d1158bc2 # diff-96f1c3968edb48388ea2673b2dd6e8e4L809, ऐसा लगता है कि उन्होंने प्रदर्शन को बेहतर बनाने के लिए कई अन्य परिवर्तनों के साथ समान संस्करण जांच को हटा दिया। – tobii

+0

@tobii अच्छा लगता है! – Tunaki

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