मेरे पास हाथ में एक बड़ा (कई एमएलओसी) एप्लिकेशन है जो मैं अधिक रखरखाव अलग हिस्सों में विभाजित करना चाहता हूं। वर्तमान में उत्पाद में लगभग 40 ग्रहण परियोजनाएं शामिल हैं, जिनमें से कई अंतर-निर्भरताएं हैं। यह अकेले एक निरंतर निर्माण प्रणाली को असुरक्षित बनाता है, क्योंकि इसे प्रत्येक चेकइन के साथ बहुत अधिक पुनर्निर्माण करना होगा।एक (बड़े) जावा ऐप को मॉड्यूलर कैसे करें?
वहाँ एक "सबसे अच्छा अभ्यास" के लिए
- कैसे पहचान भागों है कि तुरंत अलग किया जा सकता
- दस्तावेज़ अंतर-निर्भरता की रास्ता है नेत्रहीन
- मौजूदा कोड सुलझाना
- संभाल "पैच" हमें पुस्तकालयों पर लागू करने की आवश्यकता है (वर्तमान में उन्हें वास्तविक पुस्तकालय से पहले कक्षा में डालकर संभाला जाता है)
यदि इसका समर्थन करने के लिए (फ्री/ओपन) टूल्स हैं, तो मैं पॉइंटर्स की सराहना करता हूं।
भले ही मेरे पास मेवेन के साथ कोई अनुभव न हो, ऐसा लगता है कि यह एक बहुत ही मॉड्यूलर डिज़ाइन को मजबूर करता है। मुझे अब आश्चर्य है कि क्या यह ऐसा कुछ है जिसे पुन: स्थापित किया जा सकता है या यदि कोई प्रोजेक्ट जिसका उपयोग करना है, तो शुरुआत से ही मॉड्यूलरिटी के साथ लेआउट करना होगा।
संपादित 2009-07-10
हम बाहर बंटवारे Apache Ant/Ivy का उपयोग कर कुछ कोर मॉड्यूल की प्रक्रिया में हैं। वास्तव में सहायक और अच्छी तरह से डिज़ाइन किया गया टूल, मैवेन के रूप में आपके ऊपर उतना ही लागू नहीं करता है।
मैं कुछ और अधिक सामान्य विवरण और हम उस क्यों कर रहे हैं अपने ब्लॉग पर के बारे में व्यक्तिगत राय नीचे लिखा - बहुत यहाँ पोस्ट करने के लिए लंबे समय तक और शायद हर किसी के लिए दिलचस्प नहीं है, तो आपके स्वयं के विवेक पर का पालन करें: www.danielschneller.com
ठीक है, अब आप किस निर्माण प्रणाली का उपयोग कर रहे हैं? यदि यह एक चींटी/मेवेन तुलना है तो यह किसी और चीज की तुलना में धार्मिक पसंद की तरह दिखता है। –
वर्तमान में हम सभी प्रकार के कलाकृतियों को उत्पन्न करने के लिए जटिल स्क्रिप्ट के सेट के साथ चींटी का उपयोग कर रहे हैं।लेकिन यह कभी भी "धर्म" का मुद्दा नहीं रहा है - यह कई साल पहले बिना किसी तुलना के निर्णय लिया गया था। पीछे तो चीजें बिल्कुल छोटी थीं। –
मेरा मतलब यह था कि अंतर उतना बड़ा नहीं है जितना कि कुछ ऐसा करने के लिए ऐसा करेंगे, इसलिए मैवेन को सब कुछ आसान बनाने के लिए स्विच करने की अपेक्षा न करें। –