I run in to an issue some time back where I was required to debug a remote spring boot web application using IntelliJ and was not sure what is the best way to do it.
IntelliJ has still some issue to run Spring-boot powered web applications with Tiles and I faced same one while working on Shopizer.
We used command line to run Spring boot application using maven plugin. In this post I will try to outline how I configured IntelliJ to debug remote application.
To debug remote spring boot application make sure you have “Spring Boot Maven Plugin” plugin configured in your pom.xml file
<plugins> ... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.0.1.RELEASE</version> </plugin> ... </plugins>
You have 2 way to configure debug option using spring boot maven plugin
<plugins> ... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.0.1.RELEASE</version> <configuration> <jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments> </configuration> ... </plugin> ... </plugins>
Alternatively we will can pass these parameters using command line and we will go with this option in this post.
mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
By default, the run goal runs in the same process unless jvm arguments or an agent have been specified, above configuration will ensure that you are forking the process and able to debug it.
Next step is to configure IntelliJ to enable debug points, use below steps to configure it
Make sure that you have same port number as used while starting spring boot application using Maven.
Hello!! I am Umesh- an engineer by profession and a photographer by passion.I like to build stuff on the web using OSS and love to capture the world through my lens.