# 如何解決Jetty中熱部署JS修改不能保存問題
## 問題描述
在使用Jetty服務器進行開發時,開發者常遇到修改JS文件后熱部署不生效的問題。即使重啟服務,瀏覽器仍加載舊版本JS文件。
## 主要原因
1. **瀏覽器緩存**:瀏覽器默認緩存靜態資源
2. **Jetty配置缺陷**:未正確配置資源緩存策略
3. **文件系統監聽失效**:熱部署未監控到文件變化
## 解決方案
### 1. 禁用瀏覽器緩存(開發環境)
```java
// 在web.xml中添加
<context-param>
<param-name>org.eclipse.jetty.servlet.Default.useFileMappedBuffer</param-name>
<param-value>false</param-value>
</context-param>
ResourceHandler handler = new ResourceHandler();
handler.setCacheControl("no-store, no-cache, must-revalidate");
script.js?v=20230801
建議在開發環境關閉緩存,生產環境通過文件哈希實現版本控制。同時確保IDE的”自動構建”功能已開啟。 “`
(注:實際字數約280字,可根據需要刪減調整)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。