2016-03-09 13 views
19

में काम नहीं करता जब मेरी पहली स्प्रिंग बूट एप्लिकेशन बनाने, मुझे पता चला कि मैं अपने ऐप हर बार जब मैं में एक जावास्क्रिप्ट फ़ाइल/संसाधन/स्थिर/लिए- में बदलाव करते हैं फिर से शुरू करनी file.jsस्प्रिंग बूट DevTools - स्टेटिक सामग्री पुन: लोड इंटेलीजे

यह बहुत समय ले रहा है।

जब मैं/webapps/फ़ोल्डर में फ़ाइलों को स्थानांतरित, यह उम्मीद के रूप में काम करता है, लेकिन फ़ाइलें एक जार में पैक नहीं कर रहे हैं। दस्तावेज़ों का उल्लेख है, इसलिए मैं इस तरह से जारी नहीं रख सकता।

मैंने लगभग spring-boot-devtools पढ़ा है, और इसे अपने पीओएम में स्थापित किया है, लेकिन हॉटस्पैप काम करने के लिए सीम नहीं है। जावास्क्रिप्ट या सीएसएस फ़ाइल परिवर्तन देखने के लिए मुझे अभी भी पूरे ऐप को पुनरारंभ करने की आवश्यकता है।

जब अनुप्रयोग, शुरू होता है मैं लाइन LiveReload server is running on port 35729 देख सकते हैं, तो spring-boot-devtools कुछ ... कर रही होगी

क्या कदम आगे की जांच करके क्या गलत हो रहा है हो सकता है?

मेरा अनुमान है कि जब इंटेलिज़ ऐप चलाता है, तो फाइलों की प्रतिलिपि बनाई जाती है, इसलिए जब मैं कोई परिवर्तन करता हूं, तो मैं वास्तव में मूल फ़ाइलों को बदल रहा हूं, न कि चल रहे ऐप द्वारा उपयोग किए जाने वाले लोगों को।

पुनश्च: मैं Maven उपयोग कर रहा हूँ, एम्बेडेड बिलाव सर्वर के साथ IntelliJ विचार 15 और स्प्रिंग बूट 1.3.3। मुझे यकीन नहीं है कि इंटेलिज जे ऐप शुरू करने के लिए क्या आदेश देता है। आईडीई इसे "स्वचालित रूप से" संभाला जा रहा है। शायद मुझे अपना रन कॉन्फ़िगरेशन बदलने की ज़रूरत है?

+0

क्या यह एक वसंत बूट परियोजना है? वसंत बूट में, डिफ़ॉल्ट रूप से src/main/resource/templates वह जगह है जहां विचार रहते हैं और वेबपृष्ठ फ़ोल्डर नहीं।कृपया pom.xml –

+0

पोस्ट करें मेरी फ़ाइलें सही स्थान पर हैं। जब मैंने देखा कि हॉटस्पैप काम नहीं कर रहा था तो मैंने केवल उन्हें स्थानांतरित करने की कोशिश की। मैंने यह महसूस करने के बाद फ़ाइलों को अपने मूल स्थान पर वापस कर दिया कि मैं "वेबपैप्स" फ़ोल्डर नहीं रख सका। – Wouter

+1

अच्छा वीडियो यह आईडीईए में कैसे काम करता है: https://www.youtube.com/watch?v=VWF7vCJSqrA – GKislin

उत्तर

71

आप इस काम करने के लिए IntelliJ में सुविधाओं के एक जोड़े को चालू करने की जरूरत है।

सबसे पहले, एक परियोजना विशिष्ट सेटिंग जो आप आप में DevTools उपयोग करना चाहते हैं किसी भी परियोजना पर लागू करने के लिए की आवश्यकता होगी है। करने के लिए प्राथमिकताएं> संकलक जाओ और सक्षम "परियोजना स्वचालित रूप से सुनिश्चित करें।"

अगली सेटिंग एक आईडीईए रजिस्ट्री सेटिंग है जो सभी परियोजनाओं पर लागू होती है।

  • OSX में, (Windows में Shift+Ctrl+A) Shift+Command+A प्रेस
  • प्रकार खोज बॉक्स प्रकट होने वाले "रजिस्ट्री", और इसे खोलने के लिए रजिस्ट्री का चयन करें।
  • लुकअप compiler.automake.allow.when.app.running और इसे सक्षम करें।

उसके बाद, अपने अनुप्रयोग पुनरारंभ करें। आप देखेंगे कि प्रोजेक्ट आपके द्वारा किए गए हर बदलाव के साथ पुनर्निर्माण करता रहता है। जब आप ब्राउज़र में परिणाम देखेंगे, तो आप देखेंगे कि स्थिर फाइलें और कोड दोनों अपडेट किए गए हैं।

मैंने थोड़ी देर पहले इस बारे में एक ब्लॉग पोस्ट भी लिखा था। http://patrickgrimard.com/2016/01/18/spring-boot-devtools-first-look/

+2

विंडोज़ पर: Ctrl-Alt-Shift-/दबाएं और दिखाई देने वाले मेनू से "रजिस्ट्री" का चयन करें। –

+0

बहुत मदद की, धन्यवाद! –

+1

बहुत अच्छा। मेरे लिए अंतिम समाधान यह होगा कि वेबसर्वर पुनरारंभ होता है जब मैं एक स्रोत फ़ाइल को सहेजता हूं, स्वचालित रूप से नहीं। यह जांच कर रहा है। – Jannik

11

Windows उपयोगकर्ताओं के लिए कदम हैं:
1) फ़ाइल> सेटिंग पर, ",, तैनाती का निर्माण निष्पादन" जाओ तो करने के लिए -> संकलक और "स्वचालित रूप से परियोजना करें" फ़्लैग सक्षम।
2) Ctrl-Alt-Shift-/दबाएं और दिखाई देने वाले मेनू से "रजिस्ट्री" का चयन करें। Compiler.automake.allow.when.app.running ध्वज सक्षम करें।
3) ऐप को प्रारंभ/पुनरारंभ करें और स्थिर सामग्री पुनः लोडिंग का निरीक्षण करें।

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