首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MyEclipse 修改代碼後重啟 Tomcat 但 .class 文件未更新的解決方案

     編輯:程式設計疑難解答

問題現象

  • Java 源碼已修改並保存
  • MyEclipse 重啟 Tomcat
  • 部署目錄下對應 `.class` 文件時間戳/內容未變化
  • 運行效果仍為舊代碼邏輯

根本原因

MyEclipse 增量編譯/發布機制失效,常見原因:

  1. 項目構建路徑配置異常
  2. 項目清理緩存未生效
  3. Tomcat 部署配置指向錯誤目錄
  4. 文件鎖定/權限問題導致覆蓋失敗

標準解決步驟(按成功率排序)

1. Project Clean 徹底重建(最推薦)

菜單欄 → Project → Clean...
勾選項目 → 勾選 "Start a build immediately" → OK

效果:刪除所有編譯輸出,強制全量重新編譯,同步更新部署目錄。

2. 手動清理部署目錄

# 關閉 Tomcat
# 刪除部署目錄下的項目文件夾
/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/你的項目/

# 或 Tomcat 安裝目錄
/tomcat/webapps/你的項目/

# 重新啟動 Tomcat,MyEclipse 會自動重新發布

3. 檢查發布配置

  • 右鍵項目 → Properties → Deployment Assembly
  • 確認 Source: `/src/main/java` → Deploy Path: `WEB-INF/classes`
  • 確認 Source: `/src/main/resources` → Deploy Path: `WEB-INF/classes`
  • 確認 Source: `/src/main/webapp` → Deploy Path: `/`

4. Maven 項目專項處理

# 命令行執行
mvn clean compile war:exploded

# 或 IDE 中
右鍵項目 → Run As → Maven clean
右鍵項目 → Run As → Maven install (勾選 skipTests)

5. 核對 Tomcat 部署路徑

  • 雙擊 Servers 視圖中的 Tomcat
  • Server Locations 選擇 "Use Tomcat installation" 或 "Use workspace metadata"
  • 確認 Deploy path 指向正確的 webapps 目錄

進階排查

檢查文件鎖定

# Windows: 使用 Process Explorer 搜索 .class 文件句柄
# Linux: lsof | grep 你的項目.class

啟用編譯詳細輸出

Window → Preferences → Java → Compiler → Building
勾選 "Output folder" 詳細日誌

工作空間元數據修復

# 關閉 Eclipse
# 刪除 .metadata/.plugins/org.eclipse.core.resources/.projects/你的項目/
# 刪除 .metadata/.plugins/org.eclipse.jdt.core/ 緩存
# 啟動 Eclipse 導入項目

預防措施

  1. 養成「修改代碼 → Ctrl+S → 等待自動構建完成 → 重啟/熱部署」習慣
  2. Maven 項目優先使用命令行 `mvn clean package` 驗證構建無誤
  3. 定期清理工作空間緩存(File → Switch Workspace → Other 可快速重置)
  4. 使用 Spring Boot DevTools 實現熱加載,減少重啟依賴

核心口訣:Clean → Build → Deploy → Restart,四步走解決 99% 類似問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved