現象
將 JAR 複製到 `tomcat/webapps/項目/WEB-INF/lib/` 後,JSP 頁面仍報類找不到。
根因與解決
- Eclipse/IDEA 未同步:IDE 專案構建路徑未包含該 JAR。
→ 右鍵專案 → Build Path → Add JARs 選中 `WEB-INF/lib` 下的 JAR。
- Tomcat 未重啟:熱部署失效。
→ 徹底重啟 Tomcat(關閉進程後再啟動)。
- JAR 損壞或版本衝突:檢查 JAR 大小、解壓驗證 `META-INF/MANIFEST.MF`。
→ 刪除舊 JAR,重新下載對應版本。
- 類加載器隔離:若 JAR 內含 Servlet API 等容器已提供類,會導致 `LinkageError`。
→ 設置 Maven `scope=provided` 或手動刪除衝突類。
最佳實踐
- 使用 Maven/Gradle 管理依賴,避免手動複製 JAR。
- 執行 `mvn clean compile war:exploded` 確保目標目錄同步。
- 排查時查看 Tomcat `work/Catalina/localhost/項目` 下編譯後的類文件是否存在。
JSP 項目 JAR 包放入 WEB-INF/lib 仍找不到類,IDE 構建路徑不同步,Tomcat 熱部署失效,Maven 依賴管理最佳實踐。