2010-03-03 19 views
14

मेरे पास स्प्रिंग रू प्रोजेक्ट है और मैं अपने ऐप को चलाने के लिए mvn jetty:run का उपयोग करता हूं। *.java कक्षाओं में केवल एक ही समस्या है जो तैनात नहीं है, जबकि *.jspx में गर्म तैनाती ठीक है।एम्बेडेड जेटी में गर्म तैनाती

तो मैं जावा कक्षाओं के लिए हॉट डिप्टी में एमवीएन जेटटी को कैसे कॉन्फ़िगर कर सकता हूं?

उत्तर

22

आप इसे सक्षम करने के लिए एक 0 से अधिक मूल्य के लिए scanIntervalSeconds निर्धारित करने की आवश्यकता:

scanIntervalSeconds - सेकंड में अंतराल में परिवर्तन के लिए webapp स्कैन और संदर्भ को पुनः आरंभ करने के लिए यदि आवश्यक हो तो। अगर पुनः लोड सक्षम है तो अनदेखा किया गया। डिफ़ॉल्ट रूप से अक्षम। डिफ़ॉल्ट मूल्य है: 0.

तो विन्यास हो सकता है इस तरह दिखता है:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.22</version> 
    <configuration> 
    <scanIntervalSeconds>1</scanIntervalSeconds> 
    </configuration> 
</plugin> 

सक्षम कर लिए जाने घाट Maven प्लगइन निर्देशिका classDirecory में परिभाषित (जिसके द्वारा ${project.build.outputDirectory} के लिए अंक स्कैन करेगा परिवर्तन के लिए डिफ़ॉल्ट यानी target/classes)।

आपको बस target/classes (या mvn compile चलाने के लिए) में अपनी आईडीई संकलन कक्षाएं रखने की आवश्यकता है और जेटी जावा कक्षाओं में परिवर्तनों पर संदर्भ को पुनरारंभ करेगा।

+0

बहुत धन्यवाद! :) – portoalet

+0

404 त्रुटियां हैं जबकि जेटी कक्षाओं को फिर से तैनात करती है। कोई सुझाव है कि उनसे कैसे बचें? यह प्रश्न भी देखें: http://stackoverflow.com/questions/23343243/jetty-404-error-page-on-hot-deployment – tholu

+1

दुर्भाग्यवश शून्य डाउनटाइम के साथ पुनर्वितरण के लिए जावा दुनिया में बहुत सारे प्रयास की आवश्यकता है :(संपादित करें: विल इसे आज़माएं: http://www.rafaelsteil.com/zero-downtime-deploy-script-for-jetty/ – tholu