I have a spring boot application running fine with Intellij IDE. i.e i started the Application class that has the main method which delegates to SpringApplication.run. Everything works great except hotswap. When I change the source, I am forced to re-start the application. Even If I start the application in debug mode, I dont see hotswap working. I could see that Intellij's Debug settings have hotswap enabled.
My observation shows that when I run the springboot application, classpath used is my
/projects/MyProject/classes/production/....
Files under classes/production
are not getting updated when I change the code. Intellij IDE compiles the files but does not update classes/production directory. How do I get hotswap working with IntelliJ IDE for spring-boot?
A solution that uses devTools works :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
Open the Settings --> Build-Execution-Deployment --> Compiler and enable :
Build Project Automatically.
press ctrl+shift+A
and search for the registry
. In the registry, enable :
compiler.automake.allow.when.app.running
Hope it helps !
References :