how to make auto reload with Spring-boot on IDEA I

2020-05-13 02:35发布

问题:

I had wrote a project base on Spring-boot,tomcat,freemarker, I run it successful, but whenever I modify some templates and java class, I must restart server or use "reload changed classes" menu on Intellij to make the changes become effective. It wastes lots time!

Then I try to use springloaded as the official said:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>springloaded</artifactId>
            <version>1.2.0.RELEASE</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/springloaded-1.2.0.RELEASE.jar</systemPath>
        </dependency>
    </dependencies>
</plugin>

then I rerun server, but doesn't work as expected! I still need to restart server after any change on template or class.

How could I configure the springloaded to auto reload. Thanks a lot!


The version of Spring-boot is 1.3.0RC1

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.0.RC1</version>
</parent>

maven version:3.2 jdk:1.8 intellij :14.1.5 os:windows 8.1 64 bit

回答1:

First, be sure that you added spring-boot-devtools as dependency:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

Second, verify that the option check-box File->Setting –> Build, Execution, Deployment –> Compiler–>Build project automatically is selected.

Last, press SHIFT+CTRL+A for Linux/Windows users or Command+SHIFT+A for Mac users, then type registry in the opened pop-up window. Scroll down to Registry... using the down arrow key and hit ENTER on Registry.... In the Registry window verify the option compiler.automake.allow.when.app.running is checked.

The instructions above are taken from here



回答2:

For macOS

  1. Preference -> Compiler -> check BUild project on build automatically

  2. shift + command + A

check compiler.automake.allow.when.app.running



回答3:

CTRL+F9 to make project with debugging. The idea is to make the project automatically work while not running or debugging!

Setting->Build->Compiler->check Make project automatically.