現象
JSP 頁面修改保存後,瀏覽器刷新不生效;重啟 Tomcat 也無效;必須在 IDE 中「重新部署」或「清理項目」才能看到變更。
常見原因
- 項目發布路徑不一致:IDE 部署的 WAR 包路徑與 Tomcat 實際運行路徑不同,導致修改的是源碼而非運行時副本。
- Tomcat 緩存:work 目錄下編譯後的 Servlet 類文件未清理。
- IDE 熱部署配置缺失:Eclipse/MyEclipse 未勾選「自動發布」或發布間隔過長。
解決步驟
- 檢查 Server 視圖中模塊的「部署路徑」是否指向 Tomcat 的
webapps 目錄。
- 刪除 Tomcat 下
work/Catalina/localhost/<項目名> 目錄,清除編譯緩存。
- 在 Server 編輯器中設置「自動發布當資源變更」及縮短發布間隔(如 1 秒)。
- 若仍無效,嘗試刪除項目重新導入或新建工作空間,多數情況下能解決(如提問者經驗)。
最佳實踐
開發階段建議使用 JRebel 或 Spring Boot DevTools 實現真正的熱加載,無需重啟容器即可見效。