शैक्षिक उद्देश्यों के लिए मैं (सूट करने के लिए बेहतर ग्रहण क्रम में फ्लैट) तो जैसे एक परियोजना लेआउट की स्थापना की है:मैवेन - समेकन के लिए 'सब' या 'पैरेंट' परियोजना?
-product
|
|-parent
|-core
|-opt
|-all
जनक, कोर के साथ एक समग्र परियोजना में शामिल है चुनते हैं और सभी। कोर आवेदन के अनिवार्य हिस्से को लागू करता है। ऑप्ट एक वैकल्पिक हिस्सा है। सभी को कोर के साथ कोर को गठबंधन करना है, और इन दो मॉड्यूल निर्भरताओं के रूप में सूचीबद्ध हैं।
अब मैं निम्नलिखित कलाकृतियों बनाने के लिए कोशिश कर रहा हूँ:
- उत्पाद-core.jar
- उत्पाद कोर-src.jar
- उत्पाद कोर-साथ-dependencies.jar
- उत्पाद-opt.jar
- उत्पाद-ऑप्ट src.jar
- उत्पाद-ऑप्ट के साथ-dependencies.jar
- उत्पाद-all.jar
- उत्पाद सभी-src.jar
- उत्पाद सभी-साथ-dependencies.jar
उनमें से अधिकांश काफी उत्पादन करने के लिए सरल कर रहे हैं। हालांकि मुझे समेकित कलाकृतियों के साथ कुछ समस्या है। मैंने उत्पाद-ऑल-एसआरसीजर को 'ऑल' मॉड्यूल में एक कस्टम असेंबली डिस्क्रिप्टर के साथ बनाने में कामयाब रहा है जो सभी गैर-संक्रमणीय deps के स्रोतों को डाउनलोड करता है, और यह ठीक काम करता है। यह तकनीक मुझे उत्पाद-ऑल-ऑन-निर्भरताएं भी बनाती है .jar।
हालांकि मुझे हाल ही में पता चला है कि आप स्रोत का उपयोग कर सकते हैं: संपूर्ण समग्र परियोजना के कुल स्रोतों के लिए स्रोत प्लगइन में कुल लक्ष्य। यह जावाडोक प्लगइन के लिए भी सच है, जो मूल परियोजना के उपयोग के माध्यम से भी एकत्रित होता है।
तो मैं अपने 'सभी' मॉड्यूल दृष्टिकोण और 'सभी' मॉड्यूल को मिटाने और सभी समेकन के लिए 'पैरेंट' मॉड्यूल का उपयोग करने के बीच फाड़ा हूं। यह 'माता-पिता' में उत्पादित कुछ समग्र कलाकृतियों के लिए अशुद्ध लगता है, और अन्य 'सभी' में उत्पादित होते हैं। क्या मूल परियोजना में 'उत्पाद-सब' जार बनाने या 'सभी' परियोजना में कुल जावडोक बनाने का कोई तरीका है? या मुझे बस दोनों रखना चाहिए?
धन्यवाद
टिप के लिए धन्यवाद। मैंने बस इसे देखा और ऐसा लगता है कि मैवेन स्रोत सामान्य लेआउट का पालन करता है जो मैंने सुझाया था, हालांकि पेड़ को फटकारने के बिना आपने बताया। अंतिम असेंबली आईएमओ बहुत साफ नहीं है, यह सिर्फ '../' निर्देशिका में सभी स्रोत फ़ाइलों के लिए एक regex grep करता है, यदि आप 3: तृतीय पक्ष निर्भरताओं आदि से स्रोत चाहते हैं तो आसान नहीं है। यह भी नहीं है कि कैसे जावाडोक एग्रीगेटर काम (मूल परियोजना के माध्यम से)। ऐसा लगता है कि मैं जिस कार्यक्षमता को याद कर रहा हूं, वह गायब है, जब मैंने कुछ प्रयोग किया है तो मैं यहां एक वैकल्पिक दृष्टिकोण लिखने की कोशिश करूंगा। सूचक के लिए धन्यवाद। –
बीटीडब्ल्यू, src assembly http://svn.apache.org/repos/asf/maven/maven-3/trunk/apache-maven/src/main/assembly/src.xml पर पाया जा सकता है –