天天看點

Springboot在idea中使用devtools熱部署配置不生效的解決辦法

1、在Maven的pom.xml檔案中添加依賴

<!-- 熱部署 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
      <scope>true</scope>
    </dependency>
           

2、繼續在Maven的pom.xml檔案中添加插件的配置

<build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <fork>true</fork><!-- 如果沒有該配置,熱部署的devtools不生效 -->
        </configuration>
      </plugin>
      <!-- 自定義配置spring Boot使用的JDK版本 -->
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
</build>
           

如果是Eclipse,配置到這裡,隻要重新開機服務,熱部署就會生效了。

但是IDEA的話,熱部署還不會生效,因為devTools隻會在類路徑上的檔案發生更改時才會自動重新開機,而IDEA預設不會自動編譯。

解決方法有兩種:

 1、手動:修改完代碼,按快捷鍵Ctrl+F9,手動建構項目,或者隻修改單個類檔案的話,按Ctrl+Shift+F9,重新編譯該類檔案,即可觸發重新開機服務。

 2、自動:

1)File -> Settings -> Compiler,勾選 Build Project automatically

Springboot在idea中使用devtools熱部署配置不生效的解決辦法

 2)按快捷鍵Ctrl+Shift+Alt+/,選擇1.Registry...

Springboot在idea中使用devtools熱部署配置不生效的解決辦法

3)勾選 compiler.automake.allow.when.app.running 即可

Springboot在idea中使用devtools熱部署配置不生效的解決辦法

重新啟動項目,運作程式并修改某行代碼,在列印的日志中你會發現“LiveReload server is running”字樣,說明熱部署已生效。

Springboot在idea中使用devtools熱部署配置不生效的解決辦法

繼續閱讀