मैं एक ही समस्या के साथ कुश्ती कर रहा हूं, और अंत में एक अच्छे समाधान पर ठोकर खाई: "लिंक्ड फ़ोल्डर्स"। यह एक ग्रहण सुविधा है जो सिम्लिंक के समान काम करती है - यह आपको एक ही भौतिक फ़ोल्डर को कई परियोजनाओं में मैप करने की अनुमति देती है। इस समाधान के बारे में अच्छी बात यह है कि इसे किसी विशेष बिल्ड चरण की आवश्यकता नहीं होती है, इसलिए एक्लिप्स स्वचालित रूप से परीक्षण के लिए आपके स्थानीय टॉमकैट सर्वर में परिवर्तनों को तैनात कर सकता है।
मेरी कॉन्फ़िगरेशन निम्नानुसार है: मेरे पास "साझा सामग्री" नामक एक ग्रहण परियोजना है। वेबकंटेंट निर्देशिका के अंदर, एक उपनिर्देशिका "shareRoot" है। सभी पुन: प्रयोज्य फाइलें - .jsp, .css, आदि - कहीं भी साझाकंटेंट/वेबकंटेंट/शेयर रूट के अंतर्गत स्थित हैं। यह एक गतिशील वेब प्रोजेक्ट है ताकि सभी उपयुक्त संपादक सक्षम हो जाएं, लेकिन मैं वास्तव में इसे कभी भी बना या तैनात नहीं करता हूं।
मेरी अन्य परियोजनाओं में, मैं shareRoot पर इंगित एक लिंक्ड फ़ोल्डर जोड़ता हूं। ग्रहण 3.6 में, कदम हैं:
पैकेज Explorer में, परियोजना पुन: प्रयोज्य फ़ाइलों को शामिल करने की जरूरत है इस बात का WebContent निर्देशिका पर राइट क्लिक करें।
नया -> फ़ोल्डर चुनें।
"उन्नत >>>" बटन पर क्लिक करें।
"वैकल्पिक स्थान (लिंक किए गए फ़ोल्डर)" लिंक बटन का चयन करें।
इसके अंतर्गत टेक्स्टबॉक्स में, ब्राउज़ करें पर क्लिक करें।
अपने स्रोत पेड़ में, साझाकंटेंट/वेबकंटेंट/शेयर रूट पर नेविगेट करें। फिर सभी संवाद दूर होने तक ठीक/खोलें/समाप्त बटन पर क्लिक करें।
साझा सामग्री अब आपके प्रोजेक्ट में मैप की गई है। कष्टप्रद, आपको इन फ़ाइलों का संदर्भ देते समय URL में "shareRoot /" शामिल करना होगा, लेकिन आप अपने पसंदीदा यूआरएल रीराइटिंग फ़िल्टर का उपयोग करके इस पर काम कर सकते हैं।
आप कई परियोजनाओं में जावा फ़ाइलों को मैप करने के लिए जावा स्रोत पेड़ में एक समान चाल का उपयोग कर सकते हैं। मैंने इसे बदलना शुरू कर दिया है, साझा कोड को .jar फ़ाइल में बनाने के बजाय, क्योंकि जब भी आप अपने स्थानीय टॉमकैट सर्वर में बदलाव का परीक्षण करना चाहते हैं तो यह .jar को पुनर्निर्माण की आवश्यकता से बचाता है।
तो मैंने ऐसा किया, लेकिन यह बिल्कुल आरामदायक नहीं है। –