2012-01-18 16 views
6

यदि आपके पास प्रोजेक्ट ए है और इसे प्रोजेक्ट बी की सभी निर्भरताओं की आवश्यकता है, तो क्या आप प्रोजेक्ट बी को प्रोजेक्ट ए के माता-पिता, विरासत का उपयोग करके, या प्रोजेक्ट ए की निर्भरता घोषित करते हैं? ऐसा लगता है कि वे एक ही प्रभाव डालते हैं।निर्भरता या माता-पिता के रूप में घोषित करें

उत्तर

6

दो दृष्टिकोण अलग हैं, एक विरासत है, और दूसरा एक साधारण निर्भरता है।

निर्भरता करके आप केवल परियोजना बी

की बाइनरी सकर्मक निर्भरता होगा, एक माता पिता परियोजना आप प्लग इन की तरह विन्यास के वारिस के रूप में प्रयोग करेंगे मॉडल, खजाने, निर्भरता-प्रबंधन, निर्भरता का निर्माण करके और इसलिए, यह मामले पर निर्भर करता है।

अंगूठे का मेरा नियम एससीएम विन्यास, परियोजना विन्यास, और विकास या कंपनी मानकों के लिए है, मैं एक मूल परियोजना (विरासत) का उपयोग करता हूं।

8

मैं कहना चाहते हैं तो परियोजना बी इरादा एक "सार्वभौमिक जनक" के रूप में कार्य करने के लिए या somesuch है - जो है, समान निर्भरता के साथ कई परियोजनाओं के लिए एक प्रारंभिक बिंदु (या उनके निर्भरता के लिए एक ही प्रारंभिक बिंदु के साथ) तो आगे बढ़ें और बी parent बनाएं।

अन्यथा, यदि यह वास्तव में एक "आसान बात करने के लिए" के और भी है - उदाहरण के लिए यह उपयोगिता/कोर प्रकार तरीकों कि परियोजनाओं का एक बहुत उपयोगी मिलेगा मिला है, लेकिन उनके अस्तित्व के लिए पर भरोसा न करें, तो यह तर्कसंगत रूप से एक निर्भरता है।

आप उन पंक्तियों के साथ प्रोजेक्ट बी को दो में विभाजित करने पर भी विचार कर सकते हैं। यही कारण है कि मैंने पहले भी क्या किया है है:

mygroup-parent एक परियोजना है कि निर्भरता है कि मैं हर एक परियोजना प्राप्त करना चाहते हैं के साथ एक पोम फ़ाइल के लिए पूरी तरह से होते हैं - एक मानक दृष्टिकोण को लागू करने। उदाहरण के लिए, मुझे वहां TestNG और Mockito मिल गया है।

mygroup-core एक पूरी तरह से जावा परियोजना है जिसमें बहुत उपयोग की जाने वाली आसान चीजें हैं, लेकिन यह आवश्यक नहीं है। मुझे अपनी साइट के लिए विशिष्ट चीजों और अपाचे HttpClient और Google Guava जैसी निर्भरताओं के लिए सहायक तरीके मिल गई हैं।

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

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