2011-03-03 14 views
11

मैं तेजी से विकास के लिए हल्के वजन और सरल सर्वलेट कंटेनर की तलाश में हूं। उदाहरण के लिए मैं ब्राउजर में बदलाव देखने के लिए हर बार recompiling बिना जावा कोड लिखना चाहता हूँ। और मुझे सर्वलेट की हजारों समवर्ती अनुरोधों को संभालने में सक्षम होने की परवाह नहीं है क्योंकि मुझे केवल इसे अपनी स्थानीय विंडोज मशीन पर स्थापित करने की आवश्यकता है और मैं इसे एक्सेस करने वाला एकमात्र व्यक्ति हूं।लाइट जावा सर्वलेट कंटेनर

मुझे विकास के लिए इस तरह की चीज चाहिए, ताकि मैं अपने "लाइव" सर्वलेट कंटेनर में अपना युद्ध अपलोड कर सकूं जिसमें अधिक परिपक्व सर्वलेट कंटेनर (टोमकैट इत्यादि) हो।

क्या ऐसा कुछ भी मौजूद है?

उत्तर

11

JettyJetty Maven plugin के साथ आपकी मार्गदर्शक प्रकाश होगी।

[संपादित करें]:
मूल लिंक मर गया था। नए जेटी-मेवेन-प्लगइन घर पर अपडेट किया गया।

+0

धन्यवाद मैं इसे आजमाउंगा। क्या आप संकलन भाग के बारे में मुझे कुछ और बता सकते हैं? क्या आप सिर्फ एक .java फ़ाइल बदल सकते हैं और यह स्वचालित रूप से इसे संकलित करता है? या यह कैसे काम करता है? –

+0

जेट्टी मेवेन प्लगइन के साथ, आप इसे अपनी फाइलों में बदलावों के लिए अपनी स्रोत निर्देशिका स्कैन करने के लिए कॉन्फ़िगर कर सकते हैं। इसके बाद यह परिवर्तन उठाएगा, इसे संकलित करेगा, और इसे आपके ऐप में हॉट स्वैप करेगा, या जो कुछ भी आप इसे करने के लिए कॉन्फ़िगर करेंगे। – Jeremy

+0

मैंने प्लगइन को कॉन्फ़िगर किया है लेकिन जब मैं .java फ़ाइलों में परिवर्तन करता हूं तो यह ऑटो परिनियोजन प्रतीत नहीं होता है। यह jsps/स्थिर सामग्री के लिए काम करता है लेकिन मेरी जावा फ़ाइलों के लिए नहीं। कैसे? –

0

हां, यह संभव है क्योंकि आप ग्रहण और WTP के साथ वर्णन करते हैं। ग्रहण आपके कोड का पुनर्निर्माण करेगा और प्रत्येक सहेजने पर टोमकैट या जेटी को फिर से तैनात करेगा। यदि आप मेवेन का उपयोग करते हैं तो maven-jetty-plugin के साथ भी यह संभव है।

लेकिन यदि आप जेटी का उपयोग करते हैं तो सर्वर को बंद करने और इसे वापस लाने का ओवरहेड बहुत मामूली (> 1 एस) है। यदि आप ऐसा करने में प्रसन्न हैं तो आपके पास कस्टम बिल्ड स्क्रिप्ट्स, maven-cargo-plugin, आदि

मैंने हाल ही में एक लंबे समय से चलने वाले टोमकैट को रखने की कोशिश करने से दूर कर दिया है, दर्जनों को कताई और मारने के लिए जेटी के उदाहरणों के, और यह ठीक काम कर रहा है।

संपादित करें: सावधान रहें, हालांकि, जेटी और टॉमकैट के पास कभी-कभी अलग-अलग व्यवहार होते हैं। उदाहरण के लिए serving of static files via the default servlet

+0

"ग्रहण" अब तक बहुत अधिक है जैसा कि आप "हल्के वजन" से प्राप्त कर सकते हैं। – WhyNotHugo

2

सबसे हल्का सर्वलेट कंटेनर जो मुझे पता है Jetty है। मुझे किसी भी सर्वलेट कंटेनर से अवगत नहीं है जो कक्षाओं के स्वचालित पुनः लोडिंग प्रदान करता है, लेकिन आप इसे JRebel आईडीई प्लगइन का उपयोग करके प्राप्त कर सकते हैं। जेरेबेल मुफ्त नहीं है, लेकिन यह सस्ता है, और पैसे के लायक है।

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