2010-01-07 7 views
6

मैं ऐसी परिस्थिति में हूं जहां मैं मूल रूप से एक्लिप्स में एक वेब प्रोजेक्ट प्राप्त करने में सक्षम होना चाहता हूं जहां वेबकंटेंट फ़ोल्डर को केवल एक ही गतिशील वेब प्रोजेक्ट की बजाय कई परियोजनाओं से विलय किया जाता है।ग्रहण: क्या एकाधिक गतिशील वेब परियोजनाएं एक एकल युद्ध फ़ाइल में योगदान देती हैं?

यदि मेरे पास प्रोजेक्ट ए में "ए.जेस्प" है और प्रोजेक्ट बी में "बी.जेस्प" है, तो मैं वेब कंटेनर में एक वेब एप्लिकेशन के साथ समाप्त करना चाहता हूं जहां "a.jsp" और "b .jsp "एक ही फ़ोल्डर में एक-दूसरे के बगल में बैठें। यह सही होगा अगर सभी फाइलें, न केवल jsp-files, को इस तरह विलय किया जा सकता है।

यह हमारे आवेदन का मुख्य संस्करण प्राप्त करने में सक्षम होना है, लेकिन आसानी से ग्राहक विशिष्ट परिवर्तनों को संभालने में सक्षम होना है।

मुझे पता है कि मैं इसे उपयुक्त चींटी जादू के साथ कर सकता हूं, लेकिन हम कुछ ऐसा करना चाहते हैं जो हमारे वर्तमान ग्रहण आधारित विकास प्रक्रिया के लिए अच्छा काम करे। हम जावा कक्षाओं पर जेएसआर-330 निर्भरता इंजेक्शन का उपयोग करेंगे, और अनिवार्य रूप से मुझे निर्भरता इंजेक्शन की तर्ज पर कुछ चाहिए लेकिन केवल किसी भी संसाधन के लिए, न केवल कक्षाओं के लिए।

क्या ग्रहण कर सकते हैं?

यदि ग्रहण नहीं कर सकता है, तो क्या ईएआर परिनियोजन संभवतः उपयुक्त होगा? मुझे वर्तमान में केवल युद्ध के साथ अनुभव है।

उत्तर

1

यदि मैवेन का उपयोग करना एक विकल्प है, तो मेवेन overlays यहां सही होगा और इसे सैद्धांतिक रूप से m2eclipse प्लगइन द्वारा समर्थित होना चाहिए। लेकिन मेरे पास इसका कोई अनुभव नहीं है और कुछ समस्याएं हो सकती हैं (MNGECLIPSE-599 देखें) इसलिए इसे कुछ परीक्षण की आवश्यकता होगी।

फिर भी, MNGECLIPSE-599 की टिप्पणी बहुत दिलचस्प, विशेष रूप से यह एक कर रहे हैं:

इस समस्या के लिए कोई प्यार? इस वजह से हमारी पूरी टीम डब्ल्यूएआर विकास के लिए नेटबींस चली गई है। हम मूल रूप से हमारे लिए इस समस्या को हल करने के लिए सर्वलेट 3.0 की प्रतीक्षा कर रहे हैं (सर्वलेट 3।0 मेवेन में ओवरले करने की हमारी ज़रूरत को प्रभावी ढंग से अस्वीकार कर देगा) हमारी कंपनी कॉपी-पेस्ट को कम करने पर बड़ी है, इसलिए हम अपने ऐप्स में सामान्य मीडिया के प्रबंधन के लिए ओवरले का उपयोग करते हैं।

रास्ता जावा ईई 6 ओवरले अप्रचलित होगा

क्रिस्टल मेरे लिए स्पष्ट नहीं है (वेब ​​टुकड़े के माध्यम से?), लेकिन तथ्य यह है कि Eclipse's WTP release with Java EE 6 support has been delayed to June 2010 है। तो, तब तक, आपको अतिरिक्त टूलींग (जैसे मैवेन ओवरले) की आवश्यकता होगी या शायद नेटबीन पर स्विच करने पर विचार करना चाहिए।

+0

मेवेन एक विकल्प नहीं है जब तक कि हम बिल्कुल, अनिवार्य रूप से नहीं है। हम जीवन के मैवेन तरीके से लुप्त नहीं हैं :) जेईई 6 का कारण यह है कि हम वेब सेवा स्टैक, निर्भरता इंजेक्शन और जेएसएफ 2.0 को वाह के अंदर उपयुक्त कार्यान्वयन को तैनात करने के बजाय कंटेनर में धक्का देना चाहते हैं। मेरी जांच से आज मुझे नहीं लगता कि समय अभी भी सही है। –

+0

कुछ हल करने के लिए सर्वलेट 3.0 के उल्लेख के लिए धन्यवाद। मैं इस पर गौर करूंगा। –

+0

हम मेवेन में चले गए और वास्तव में ऐसा करने के लिए समाप्त हो गया। धन्यवाद। –

0
  • आपको चींटी का उपयोग करने के लिए अपनी "ग्रहण आधारित विकास प्रक्रिया" को बदलने की आवश्यकता नहीं है। बस एक चींटी निर्माता (right click project > Properties > Builders) पंजीकृत करें और अपनी ग्रहण प्रक्रिया
  • के साथ चींटी स्क्रिप्ट को एकीकृत करें आप मैवेन के बहु-मॉड्यूल विकल्पों का उपयोग कर सकते हैं। (ग्रहण के लिए मेवेन प्लगइन भी बहुत अच्छा है)
  • उपयोग FileSync का उपयोग भी कर सकता है - उद्योग-मानक लेकिन बहुत शक्तिशाली नहीं। इसका उपयोग localhost पर निश्चित रूप से विकसित करने के लिए किया जाता है।

    • सेटअप जो फ़ाइलें/फ़ाइल पैटर्न/dirs लक्ष्य निर्देशिका (बिलाव के अपने मामले में webapps/application) को कॉपी करने के लिए:

    यहाँ FileSync प्रयोग करने के लिए कुछ सुझाव दिए गए हैं। तो जैसे ही आप "सेव" दबाते हैं, फाइलों की प्रतिलिपि बनाई जाती है।

  • लिंक किया हुआ संसाधन (preferences > workspace > linked resources) शुरू करने, और वरीयता में लिंक संसाधन चर का उपयोग कर फ़ाइल से में FileSync.xxxx.prefs रिश्तेदार सभी पूर्ण पथ बनाने के (देता है यह WEBAPP_HOME कहते हैं)
  • FileSync.xxxx.prefs फ़ाइल
  • प्रतिबद्ध पर हर डेवलपर बताने टीम WEBAPP_HOME चर कॉन्फ़िगर करने के लिए। इस प्रकार सेटअप केवल एक मशीन के लिए मान्य नहीं होगा, लेकिन टीम में प्रत्येक मशीन के लिए।
+0

जब वेब अनुप्रयोग विकास कर रही है आप एक चींटी बिल्डर के साथ अनुभव है? हम वर्तमान में टोमकैट का उपयोग करते हैं, लेकिन जेएसआर-330 कारणों से हम ग्लासफ़िश में माइग्रेट करने पर विचार करते हैं। मैं विशेष रूप से बदलाव समय में रूचि रखता हूं - Ctrl-S दबाएं, और ब्राउज़र में पुनः लोड करें। –

+0

मुझे मैवेन और नए जोड़े गए विकल्प के साथ अनुभव है - FileSync.I निर्माण बनाने के लिए मैवेन का उपयोग करता हूं, और CTRL + S सामान के लिए FileSync। यह बहुत शक्तिशाली है - आप बस इसे प्रत्येक परियोजना से फ़ाइलों को एक सामान्य लक्ष्य डीआईआर में स्थानांतरित करने के लिए कॉन्फ़िगर करते हैं। – Bozho

1

मेरे पास एक समान उपयोग केस था जिसे मैंने सफलतापूर्वक हल किया (जैसे पास्कल सुझाव दिया गया) मेवेन। मेरे पास रूट वेब प्रोजेक्ट है (जो स्टैंडअलोन भी काम करता है) और प्रत्येक क्लाइंट के लिए मेरे पास एक अलग वेब प्रोजेक्ट है जो रूट वेब प्रोजेक्ट के साथ ओवरले करने के लिए कॉन्फ़िगर किया गया है। इसके अलावा, चूंकि प्रत्येक क्लाइंट में कई वातावरण होते हैं इसलिए मैंने प्रत्येक पर्यावरण (परीक्षण, प्रोड, स्थानीय, ...) के लिए एक मैवेन प्रोफाइल बनाया है। मैंने इसे थोड़ा सा दस्तावेज किया है, यदि कभी भी आप रुचि रखते हैं तो मुझे आपको डॉक्टर को मेल करने में कोई फर्क नहीं पड़ता।

+0

मैं सुझाव दूंगा कि आप इसे ब्लॉग में लिख लें। यह ऐसा कुछ है जो किसी भी गैर-तुच्छ परियोजना को संभालने में सक्षम होना चाहिए। –

+0

अच्छा विचार, किसी समुदाय/मेवेन ब्लॉग के लिए कोई सुझाव मैं उपयोग कर सकता हूं? –

+0

अपने स्वयं के कहीं और अपनी एसई प्रोफाइल में लिंक करें। –

0

मैं सर्वलेट 3.0 "संसाधनों में बंडल जार फ़ाइलों" सुविधा का उपयोग करने की सलाह देता हूं। इस सुविधा के साथ आप जार फ़ाइलों (जावा क्लास फाइलों के साथ) में वेब संसाधन (एचटीएमएल/एक्सएचटीएमएल/सीएसएस/जेएस/जेपीजी/आदि) शामिल कर सकते हैं और वेब सर्वर "मेटा-आईएनएफ/संसाधन" फ़ोल्डर खोजेगा संसाधनों के लिए जार का।

अधिक यहाँ विवरण:

http://alvinjayreyes.com/2013/07/28/servlet-3-0/

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