2013-05-17 10 views
6

में मैं के साथ कमांड लाइन से जेट्टी चलाएँ:डीबग Gradle jettyRun इंटेलीजे

export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n" 

gradle jettyRun 

और देखें:

Listening for transport dt_socket at address: 9999 

... तो IntelliJ विचार में (अंतिम 12.1.3) मैं बनाने के एक सभी डिफ़ॉल्ट के साथ नए दूरस्थ डिबग विन्यास, 9999

के लिए एक ही बंदरगाह बदल रहा है जब मैं (डीबग) दूरस्थ विन्यास का उपयोग शुरू, मैं देख रहा हूँ:

Connected to the target VM, address: 'localhost:9999', transport: 'socket' 

... जो मुझे लगता है कि सब कुछ अपेक्षित के रूप में काम कर रहा है।

फिर मैं अनुरोध करता हूं जिसके परिणामस्वरूप ब्रेकपॉइंट्स को मारना चाहिए। लेकिन ब्रेकपॉइंट्स कभी ट्रिगर नहीं होते हैं।

मैं क्या गलत कर रहा हूं?

धन्यवाद।

+0

एक सिद्धांत यह है कि मैं एक डीबग बंदरगाह का पर्दाफाश करने के लिए * ग्रैडल * और नहीं * जेट्टी * कह सकता हूं। और JettyRun दस्तावेज को देखते हुए, ऐसा करने का कोई तरीका नहीं हो सकता है। http://www.gradle.org/docs/current/dsl/org.gradle.api.plugins.jetty.JettyRun.html#org.gradle.api.plugins.jetty.JettyRun:jettyConfig ... समाधान का उपयोग कर समाधान में देखना कार्गो प्लगइन। हालांकि टॉमकैट प्लगइन को देखते हुए, मैं जो कर रहा हूं वह सही दिखता है: https://github.com/bmuschko/gradle-tomcat-plugin –

+0

आपका समाधान मेरे लिए काम करता है। मैं ग्रेड 1.5 का उपयोग कर रहा हूँ। ऊपर आपका समाधान http://stackoverflow.com/questions/9315398/how-to-run-jetty-via-gradle-in-debug-mode के साथ समान है। – ceilfors

+0

यदि आप लक्ष्य VM से कनेक्ट देखते हैं, पता: 'localhost: 9999', परिवहन: 'सॉकेट' जिसका अर्थ है कि आप जुड़े हुए हैं। मैं सिस्टम को जोड़ दूंगा, यह निर्धारित करने के लिए कि आप ब्रेकपॉइंट्स –

उत्तर

0

इंटेलिजे में (कम से कम 12.1.5 पर) आप जेटग्रेडल पर जा सकते हैं, जेटीरुन पर राइट क्लिक करें और फिर डीबग पर क्लिक करें।

+0

कृपया टिप्पणी करें कि आपने डाउनग्रेड क्यों किया है ... – eduardohl

+0

मैं शायद ही कभी डाउनवोट करता हूं, लेकिन मेरे पास भी ऐसा करने की एक मजबूत इच्छा है। "आप बस जेटग्रेडल जा सकते हैं" ... वास्तव में? और कैसे? क्या आप यहां देखते हैं कि JetGradle ने चर्चा की या यहां तक ​​कि उल्लेख किया? – Gangnus

+0

अच्छा बिंदु। मुझे लगता है कि मैंने प्लगइन स्थापित किया था और नोटिस नहीं किया था। मुझे लगता है कि यह अब भी अस्तित्व में नहीं है ... – eduardohl

5

आप अपने gradle.properties फ़ाइल में "org.gradle.jvmargs" चर सेट सेट कर सकते हैं। इससे JVM को फोर्क किया जा सकता है जिसका अर्थ है कि अब आप सही प्रक्रिया को डीबग नहीं कर रहे हैं।

इस मामले में, आप या तो "org.gradle.jvmargs" सेट नहीं कर सकते हैं या इसे डीबग पैरामीटर जैसे पास कर सकते हैं।

org.gradle.jvmargs = -XX: MaxPermSize = 128 -Xdebug -Xrunjdwp: परिवहन = dt_socket, सर्वर = y, निलंबित = y, पता = 1233

में डिबग पैरामीटर सेट करना ऑर्ग .gradle.jvmargs डीबगिंग के लिए फोर्क प्रक्रिया को कॉन्फ़िगर करेगा।

+0

मेरे पास java_opts gradle.properties में सेट था और निश्चित रूप से जेवीएम भी फोर्क किया गया था। Org.gradle.jvmargs को जोड़कर इसे ठीक किया गया। –

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