2013-08-20 4 views
28

में सुपर देव मोड मैं gwt के लिए नया हूँ। मुझे नहीं पता कि सुपर देव मोड कैसे शुरू करें। मुझे कदम से विस्तृत स्पष्टीकरण चरण की आवश्यकता है।जीडब्ल्यूटी

मैं

<add-linker name="xsiframe"/> 
    <set-configuration-property name="devModeRedirectEnabled" value="true"/> 
    <set-property name="compiler.useSourceMaps" value="true" /> 

जोड़कर संपादन gwt.xml फ़ाइल की कोशिश की है, लेकिन मैं नहीं कर सकते इस बारे में विचार मिलता है।

उत्तर

16

इन चरणों का पालन, तुम निश्चित रूप से करेंगे समाधान ढूंढे।

  1. जीडब्ल्यूटी 2.5 आरसी 2 डाउनलोड करें, और इसे कहीं भी रखें ... मैंने इसे अपने ग्रहण/प्लगइन्स निर्देशिका में रखा है। link

  2. ग्रहण में, Project -> Properties -> Google -> Web Toolkit -> Configure SDKs स्क्रीन पर जीडब्ल्यूटी 2.5 जोड़ें, और ऊपर दिए गए चरण में निर्देशिका में जोड़े गए 2.5 संस्करण का चयन करें।

  3. एक्लिप्स में प्रोजेक्ट पर राइट क्लिक करें, इसकी रन कॉन्फ़िगरेशन विंडो पर जाएं, और एक नया "जावा एप्लिकेशन" बनाएं, इसे "जीडब्ल्यूटी सुपर देव मोड" जैसे कुछ नाम दें।

  4. जबकि भागो विन्यास विंडो में, निम्न करें:

    1. सेट परियोजना अपने प्रोजेक्ट के नाम के आधार पर, और com.google.gwt.dev.codeserver के रूप में मुख्य वर्ग में टाइप करें। CodeServer

    2. Classpath tab पर, user Entries क्लिक करें, फिर Add External JARs क्लिक करें, GWT 2.5 निर्देशिका पर जाएँ, और gwt-codeserver.jar मिल जाए, और क्लिक करें "खोलें" (और अन्य बाहरी पुस्तकालय)।

    3. तर्क टैब में, -src src/ *SOURCE PATH OF YOUR PROJECT* प्रोग्राम तर्कों में जोड़ें, और वैकल्पिक -Xmx1024m को VM तर्कों में जोड़ें।

    4. लागू करें पर क्लिक करें, फिर आगे बढ़ें और परियोजना चलाएं।

  5. इस के बाद आप एक URL की तरह मिल जाएगा, स्थानीय होस्ट: 9876/

  6. गोटो कि यूआरएल, और बुकमार्क, Dev Mode ON और Dev MOde Off तो, अपने कोड चलाने प्रत्यय gwt.codesvr को दूर = 127.00.1: 9997 यूआरएल में। अब Dev Mode ON क्लिक करें ...

आशा है कि आप समाधान मिलता है ...

+0

मुझे क्यों मिल रहा है "कामकाजी निर्देशिका मौजूद नहीं है"? – EMM

+0

मैं उपयोग: कम से कम एक मॉड्यूल –

+1

की आपूर्ति होगी मैं निम्न त्रुटि का समाधान: "उपयोग: कम से कम एक मॉड्यूल की आपूर्ति होगी" CodeServer कि पूरी तरह से योग्य पैकेज था एक तर्क की आपूर्ति तक यह के अधीन था जैसे com.somepackage.testgwt.TestGWT जहां TestGWT मेरी TestGWT.gwt.xml फ़ाइल का संदर्भ है। –

59

अद्यतन: GWT 2.7 के साथ शुरू, DevMode वास्तव में सुपर देव मोड स्वचालित रूप से डिफ़ॉल्ट रूप से, का उपयोग करेगा, ताकि आप केवल DevMode शुरू करने के लिए है कि आपने पूर्व किया है, और एप्लिकेशन हो जाएगा (री) पृष्ठ पर स्वचालित रूप से संकलित (फिर से) लोड।
एक अंतर यह है कि एक विशेष .nocache.js उत्पन्न होता है ताकि आपको यह सुनिश्चित करना होगा कि यह विशिष्ट फ़ाइल ब्राउज़र द्वारा लोड की गई हो; रिमोट सर्वर को डीबग करने के लिए (जैसे आप -noserver के साथ चल रहे देवमोड के साथ पहले कर सकते थे), आपको नीचे बताए गए बुकमार्कलेट का उपयोग करना होगा।

  1. सुपर देव मोड केवल xsiframe लिंकर के साथ काम करता है, तो सुनिश्चित करें कि आप अपने .gwt.xml में निम्न पंक्ति भी है बनाने:

    सुपर देव मोड में चलाने के लिए आपको 2 प्रारंभिक चरणों से गुजरना होगा

    <add-linker name="xsiframe" /> 
    

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

    नोट: आप 2.6.0 से पहले GWT के एक संस्करण का उपयोग करते हैं कि लिंकर 2.7

    में डिफ़ॉल्ट होगा, आप भी अपने .gwt.xml में सुपर देव मोड सक्षम करना होगा:

    <set-configuration-property name="devModeRedirectEnabled" value="true" /> 
    

    अन्यथा, यदि आप 127.0.0.1 या localhost से भिन्न URL से सुपर देव मोड का उपयोग करना चाहते हैं, तो आपको होस्ट को श्वेतसूची में रखना होगा। यह एक regexp का उपयोग किया जाता है, जैसे:

    <set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(mymachinename|192\.168\.5\.151)(:\d+)?/.*" /> 
    

    देखें https://stackoverflow.com/a/21938574/116472

  2. संकलन और आप के पास एक वेब सर्वर के लिए अपने अनुप्रयोग को तैनात (यदि आप एक .gwt.xml फ़ाइल सुपर देव मोड के लिए विशिष्ट उपयोग किया है, सुनिश्चित करें कि आप बनाना कि एक मॉड्यूल संकलन: xsiframe लिंकर और devModeRedirectEnabled संपत्ति है कि संकलन कदम के लिए आवश्यक हैं)

    आप GWT-RPC का उपयोग करते हैं, बंदरगाह के लिए प्रणाली संपत्ति gwt.codeserver.port सेट आप 9876 को (चूक पर सुपर देव मोड चलाएँगे) तो आपका से रावर सुपर देव मोड से आरपीसी क्रमबद्धता नीतियों को डाउनलोड कर सकते हैं।
    यदि आप उन्हें विभिन्न मशीनों पर चलाते हैं, तो आपको अपने RemoteServiceServlet एस में getCodeServerPolicyUrl ओवरराइड करना होगा।हालांकि सुरक्षा के प्रभाव पर विचार करें, के रूप में उल्लेख in the javadoc

एक बार है कि आप एक सुपर देव मोड सत्र शुरू कर सकते हैं किया है: एक ही classpath साथ

  1. लॉन्च com.google.gwt.dev.codeserver.CodeServer है कि आप के साथ DevMode लांच होगी (यानी gwt-user.jar, gwt-dev.jar और आपके सभी क्लाइंट-साइड निर्भरता: जैसे GXT, GIN + Guice, GWTEventBinder, आदि) लेकिन gwt-codeserver.jar जोड़ना; और तर्क के रूप में अपने मॉड्यूल का नाम गुजर रहा है।

    यह आपके मॉड्यूल को संकलित करके शुरू करेगा कि यह वास्तव में संकलित किया जा सकता है; आप तर्क के रूप में -noprecompile पास करके इस चरण को छोड़ सकते हैं।

    यदि आप कभी नहीं सुपर देव मोड भाग गया, http://localhost:9876 के पास जाकर अपने बुकमार्क्स में लिंक बंद और देव मोड पर देव मोड जोड़ने (खींचें/उन्हें अपने बुकमार्क बार पर ड्रॉप)।

    नोट: यदि आप मेवेन का उपयोग करते हैं, तो आप mvn gwt:run-codeserver का उपयोग करने में सक्षम होना चाहिए (नोट: 2.6.0 तक प्लगइन की रिलीज़ में एक बग है जहां आपको वास्तव में mvn process-classes gwt:run-codeserver चलाने की आवश्यकता है; यह 2.6.1 में तय है)।

  2. अपने ब्राउज़र में अपना ऐप खोलें, फिर देव मोड बुकमार्कमार्क पर हिट करें। खुलने वाले पॉपअप में संकलित बटन पर क्लिक करें। इसे पृष्ठ को रीफ्रेश करना चाहिए और जेएस को अपने सर्वर से CodeServer से लोड करना चाहिए। आपके ब्राउज़र के विकास टूल को SourceMaps भी लोड करना चाहिए ताकि आप अपने जावा कोड को देख और डिबग कर सकें (चरण-दर-चरण)।

  3. जब आप अपने कोड में किए गए परिवर्तनों का परीक्षण करना चाहते हैं, तो देव मोड बुकमार्कमार्क पर फिर से दबाएं। DevMode के विपरीत, पृष्ठ को रीफ्रेश करने से यह नया कोड नहीं चलाएगा; कोड पहले फिर कंपाइल किया है, और जब बुकमार्कलेट (नोट पर देव मोड के बाद संकलित बटन पर क्लिक यह किया जाता है: आप भी सीधे एक क्लिक को बचाने के लिए संकलित बटन बुकमार्क कर सकते हैं, लेकिन ध्यान दें कि यह बाध्य है आपके मॉड्यूल पर, यदि आप कई मॉड्यूल पर काम करते हैं तो आपको कई बुकमार्क की आवश्यकता होगी)।

  4. कार्य पूरा हो जाने, बंद देव मोड मारा सुनिश्चित करें कि आप वापस उत्पादन मोड करने के लिए स्विच, तो बंद CodeServer प्रक्रिया (Ctrlकंसोल में सी काम करना चाहिए) बनाने के लिए।

http://www.gwtproject.org/articles/superdevmode.html
भी देखें http://blog.ltgt.net/how-does-gwts-super-dev-mode-work/ पर आधिकारिक प्रलेखन कैसे सुपर देव मोड वास्तव में काम करता है के बारे में अधिक जानकारी के लिए।

+0

ग्रहण या इंटेलीजे में एक डिबगिंग समर्थन वहाँ हो जाएगा तो अपने classpath

को यह jar जोड़ सकता हूँ? (मैं इसे एक दैवज्ञ पूछ की तरह हो सकता है पता है) –

+0

पुन # चरण 1 में चेतावनी, मैं कैसे दो * .gwt.xml फ़ाइलें रखने और Maven का उपयोग कर उत्पादन बनाम सुपर देव मोड के लिए उन्हें स्विच हो सकता है? – Thad

+1

@ थैड: यह "द मेवेन वे ™" नहीं है लेकिन आप प्रोफ़ाइल का उपयोग कर सकते हैं; एक के लिए https://github.com/tbroyer/gwt-maven-archetypes/blob/598bed4f16a52d97b21a5f0fa9a3ce65650903a4/modular-webapp/src/test/resources/projects/basic-webapp/reference/basic-webapp-client/pom.xml देखना उदाहरण। या आप बस एक संपत्ति का उपयोग कर सकते हैं और कमांड लाइन से अपने मूल्य ओवरराइड कर सकते हैं। –

7

मैंने सुपर-देव-मोड Here के साथ हैलो वर्ल्ड प्रोजेक्ट डिबगिंग के लिए चरण दिशानिर्देश द्वारा एक सरल कदम लिखा था।

स्क्रीनशॉट के साथ चरण-दर-चरण दिशानिर्देश के माध्यम से पढ़ने के बाद आप इसे याद नहीं कर सकते हैं।

GWT SuperDevMode - - Ray Cromwell Post और GWT Dev Guide

SourceMaps -

enter image description here

इसके अलावा, आप प्रौद्योगिकी पर पढ़ सकते हैं GWT and Sourcemaps और HTML5 Sourcemaps

+0

जब कोड बंद हो जाता है (मैं कुछ भी इसका आयोजन मोड पर पूरी तरह से काम करता है नहीं बदला था) ब्रेकपॉइंट पर, मैं केवल जावास्क्रिप्ट देख सकता हूं। यह जावा कोड डिबग करने के लिए (एक जावा चर के लिए एक घड़ी जोड़ने से पहले यह जावास्क्रिप्ट में अनुवाद किया जाता है) संभव है? – kirilv

-2

अब यह सुपर आसान है।

Check this

और के रूप में समझाया here