Spring boot devtools - Static content reloading does not work in IntelliJ

Viewed 27536

When building my first Spring Boot app, I discovered that I need to restart my app every time I make a change to a Javascript file in /resources/static/some-file.js

This is very time consuming.

When I move the files to the /webapps/ folder, it works as expected, but the files are not packaged in a JAR. The docs mention this, so I cannot continue this way.

I read all about spring-boot-devtools, and have installed it in my POM, but the hotswapping doesn't seam to be working. I still need to restart the entire app to see a Javascript or CSS file change.

When the app starts, I can see the line LiveReload server is running on port 35729, so spring-boot-devtools must be doing something...

What would be the steps to further investigate what is going wrong?

My guess is that when IntelliJ runs the app, the files are copied, so when I make a change, I'm actually changing the original files and not the ones used by the running app.

PS: I'm using Maven, IntelliJ IDEA 15 and Spring Boot 1.3.3 with the embedded Tomcat server. I'm not sure what command IntelliJ runs to start the app. The IDE is handling this "automatically". Perhaps I need to change my run configuration?

7 Answers

For IntelliJ 2021.2 version or above below are steps that you need to follow

  1. Add spring-boot-devtools dependency if not already added.

  2. Enable Build project automatically as shown below

enter image description here

  1. Enable option in Advanced Settings as shown below

enter image description here

You can user like bellow:

  1. First Open Preferences.../Settings... -> Build, Execution, Deployment -> Compiler and allow Build project automatically. Image will look like

enter image description here

  1. Second, we change Registry configuration. Press command+shift+A for macOS or if you are using Windows press Ctrl+Shift+A, and search for Registry. enable compiler.automake.allow.when.app.running.Images look like bellow

Registry image look like..

enter image description here

compiler.automake.allow.when.app.running enable image look like enter image description here

Then Enjoy..

The option is now in Advanced settings:

IntelliJ Advanced Setting

Related