में मैं के साथ कमांड लाइन से जेट्टी चलाएँ:डीबग 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'
... जो मुझे लगता है कि सब कुछ अपेक्षित के रूप में काम कर रहा है।
फिर मैं अनुरोध करता हूं जिसके परिणामस्वरूप ब्रेकपॉइंट्स को मारना चाहिए। लेकिन ब्रेकपॉइंट्स कभी ट्रिगर नहीं होते हैं।
मैं क्या गलत कर रहा हूं?
धन्यवाद।
एक सिद्धांत यह है कि मैं एक डीबग बंदरगाह का पर्दाफाश करने के लिए * ग्रैडल * और नहीं * जेट्टी * कह सकता हूं। और 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 –
आपका समाधान मेरे लिए काम करता है। मैं ग्रेड 1.5 का उपयोग कर रहा हूँ। ऊपर आपका समाधान http://stackoverflow.com/questions/9315398/how-to-run-jetty-via-gradle-in-debug-mode के साथ समान है। – ceilfors
यदि आप लक्ष्य VM से कनेक्ट देखते हैं, पता: 'localhost: 9999', परिवहन: 'सॉकेट' जिसका अर्थ है कि आप जुड़े हुए हैं। मैं सिस्टम को जोड़ दूंगा, यह निर्धारित करने के लिए कि आप ब्रेकपॉइंट्स –