2017-05-21 7 views
9

मुझे इंटेलिजे आईडीईए समुदाय संस्करण पर जावा स्प्रिंग-बूट एप्लिकेशन को डिबग करने में कठिनाइयां हो रही हैं। मुख्य समस्या यह है कि आईडीई ब्रेकपॉइंट पर नहीं रुक जाएगा, यहां तक ​​कि कार्यक्रम निश्चित रूप से इसके माध्यम से निष्पादित करता है। ब्रेकपॉइंट पर रोकने के लिए मैं IntelliJ IDEA कैसे बना सकता हूं? वसंत-बूट:IntelliJ IDEA समुदाय संस्करण के साथ वसंत-बूट एप्लिकेशन को डीबग कैसे करें?

के रूप में एक आदेश के साथ

Maven विन्यास: रन

में अतिरिक्त जानकारी के रूप में, यहाँ मेरी रन विन्यास है। प्रक्षेपण से पहले मैं परियोजना का निर्माण करता हूं।

+0

आप डिबग मोड में यह हो गई थी? – Ian

+0

हाँ, मैंने किया ..... –

+0

यहां एक मेवेन स्प्रिंग बूट प्लगइन है http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html क्या आपने कोशिश की है यह? – Andrew

उत्तर

0

एकमात्र तरीका जिस पर मैंने इसे काम किया, एक अलग, दूरस्थ डीबग कॉन्फ़िगरेशन बनाकर था।

तो कॉन्फ़िगरेशन संपादित करने के लिए जाएं-> रिमोट -> +। फिर intelliJ के माध्यम से सामान्य रूप से अपना आवेदन शुरू करें। फिर नव निर्मित रिमोट कॉन्फ़िगरेशन पर स्विच करें। इसे चलाने के बजाय, डीबग दबाएं। अब डीबगर तैयार होना चाहिए, और आप ब्रेकपॉइंट्स सेट कर सकते हैं और डीबगर उन्हें रोक देगा।

14

मेरे लिए इन चरणों का काम करते हैं:

  1. का चयन करें मेनू भागो -> संपादित विन्यास ...
  2. नया रिमोट विन्यास बनाएँ। डिफ़ॉल्ट रूप से आपको सेटिंग्स बदलने की आवश्यकता नहीं है:
    -agentlib: jdwp = transport = dt_socket, server = y, suspend = n, पता = 5005। लेकिन यदि आप कनेक्ट करने से पहले JVM को निलंबित करने के लिए उदाहरण चाहते हैं, तो आप निलंबन = y बदल सकते हैं। या आप पोर्ट पोर्ट इत्यादि कर सकते हैं
  3. अपने जेवीएम संस्करण के आधार पर कमांड लाइन कॉपी करें और कॉन्फ़िगरेशन सहेजें।
  4. टर्मिनल विंडो में आपके ऐप को चलाएं (मेवेन उपयोग के मामले और जेवीएम 1.5 और उच्चतर में) एमवीएन स्वच्छ वसंत-बूट: रन-ड्रुन: jvmArguments = "- agentlib: jdwp = transport = dt_socket, server = y, suspend = n, पता = 5005 "
  5. चरण 2 पर अपने रिमोट कॉन्फ़िगरेशन को चलाकर अपने ऐप से कनेक्ट करें। अब आप अपने ऐप को डीबग कर सकते हैं।
+2

यदि कोई कॉपी-पेस्ट का उपयोग कर रहा है: '-Drun: jvmArguments =' होना चाहिए- -rrun.jvmArguments = '(कोलन के बजाय बिंदु) –

2

मुद्दा here

बताया जाता है आप कांटा = false पैरामीटर भेज लक्ष्य maven करने से इसे हल कर सकते हैं। उदाहरण के लिए

;

spring-boot:run -Dfork=false 

ध्यान दें: इस एक समाधान

3

केवल दृष्टिकोण है कि मेरे लिए काम किया है, चल रहे हैं या IntelliJ विचार से सीधे आवेदन डीबग कर रहा है।बस खुला वर्ग जो

public static void main(String[] args) { 
     SpringApplication.run(MyApp.class, args); 
    } 

और क्लिक सही माउस बटन होता है> डीबग अपने आवेदन

0

piphonom के anwser अच्छा है, लेकिन यदि आप एक छोटे से अधिक है, जो इस तरह Maven प्लगइन को jvmArguments जोड़ने करने की ज़रूरत

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <jvmArguments> 
      -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 
     </jvmArguments> 
    </configuration> 
</plugin> 
वसंत बूट परियोजना के लिए दूरदराज के debuge बारे में अधिक जानकारी के लिए

, this पढ़