問題描述:
Intellij IDEA 調試修改時,改動頁面和 java 文件后,無法立刻看到變化,需要手動重啟服務。
問題原因:
在 IDEA tomcat 中 server 的配置里,找到 on frame deactivation 條目,選擇 update classes and resources。
由於服務器添加的 Artifact 類型問題,有的項目可能沒有 update classes and resources 這個選項,只有 Hot Swap classes。
原因:一個 module 對應兩種 Artifact,一種是 war,一種是 war explored。
- war 是以 war 包形式發布,這種形式下 on frame deactivation 配置沒有 update classes and resources 這個選項。
- war explored 是發布文件目錄,選擇這種形式, on frame deactivation 中就出現 update classes and resources 這個選項。
解決方法:
在 idea tomcat 中 server 的配置里,找到 on frame deactivation 條目,選擇 update classes and resources。
沒有 update classes and resources 選項的話,先在 Deployment 菜單下修改 Artifact 的類型為 war explored,再回 Server 菜單選擇 update classes and resources。
另外有個配置 on update action,就是手動操作的時候采取什么動作,可以選擇重啟服務器,也可以像上面一樣更新類和資源文件。
注意:如果更新的是配置文件等靜態資源文件,最好選擇重啟服務器。