2017-01-18 4 views
10

यह प्रश्न स्पष्ट करने के बारे में है कि वास्तव में ट्रांजिटिव निर्भरता है और यह मेवेन में बहुत उच्च स्तर पर कैसे काम करता है।एक संक्रमणशील मेवेन निर्भरता क्या है?

मेरे परिभाषा: एक तरह एक निर्भरता वृक्ष में -> बी -> सी, सी ए के लिए एक सकर्मक निर्भरता है। मान लें बी का दायरा संकलित के भीतर है।

तो सी गुंजाइश भीतर बी संकलन, तो की निर्भरता के रूप में बी की घोषणा एक Maven साथ एक निर्माण करने के लिए पर्याप्त होता है। लेकिन अगर सी जब Maven बनाता एक, बी तो भीतर प्रदान की गुंजाइश है, इमारत स्वचालित रूप से एक संकलन नहीं होगा के खिलाफ सी जब तक एक वाणी सी अपनी निर्भरता के बीच में।

क्या यह सही है?

उत्तर

12

आपकी धारणा सही है।

  • प्रत्यक्ष::

    Maven निर्भरता के दो प्रकार के होते हैं ये <dependencies/> अनुभाग के तहत अपने pom.xml फाइल में परिभाषित निर्भरता है।

  • ट्रांजिटिव: ये निर्भरताएं हैं जो आपकी प्रत्यक्ष निर्भरताओं की निर्भरता हैं। provided गुंजाइश के साथ

निर्भरता के लिए होती हैं:

  • या तो अंतिम विरूपण साक्ष्य से बाहर रखा जाना
  • (उदाहरण के लिए, war फ़ाइलों के लिए आप servlet-api, servlet-jsp, आदि शामिल नहीं करना चाहते हैं) या ओवर्रिडेन - जहां यह परियोजना जो विरासत में रखती है वह एक संस्करण को परिभाषित करती है और/या दायरे को ओवरराइड करती है
संबंधित मुद्दे