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

Java Web Servlet XML 配置報錯:類找不到?試試 Clean Project

     編輯:程式設計疑難解答

在 web.xml 配置 Servlet 時明明類名、包名都正確,卻報錯「ClassNotFoundException」或配置不生效?這通常是 IDE 編譯輸出未同步到部署目錄導致的。本文教你快速排查並解決。

典型錯誤現象

  • 啟動 Tomcat 報錯:java.lang.ClassNotFoundException: MyServelet.MyFirstServelet
  • 刷新頁面時好時壞,或修改代碼後不生效。
  • web.xml 中 <servlet-class>MyServelet.MyFirstServelet</servlet-class> 拼寫無誤。

根本原因

IDE(Eclipse/IntelliJ IDEA)編譯產生的 .class 文件未正確發布到 Tomcat 的 WEB-INF/classes 或部署目錄。常見於:

  1. 專案未正確構建(Build)。
  2. 2. 伺服器部署配置指向錯誤的輸出目錄。
    3. 緩存的舊版本類文件干擾。

解決步驟

  1. 執行 Clean:Eclipse 選 Project > Clean...,IntelliJ 選 Build > Rebuild Project。
  2. 清理伺服器緩存:在 Servers 視圖右鍵 Tomcat 選 Clean、Clean Tomcat Work Directory。
  3. 檢查部署組件:Eclipse 專案屬性 Deployment Assembly 確認源碼目錄映射到 WEB-INF/classes。
  4. 重新啟動伺服器:完全停止 Tomcat 後再啟動,避免熱部署殘留。

代碼規範提醒

你的代碼中存在拼寫錯誤:MyServelet 應為 MyServlet,MyFirstServelet 應為 MyFirstServlet。雖然 Java 大小寫敏感,但統一命名規範能避免大量低級錯誤。

總結

「類找不到」九成是編譯輸出未同步問題。養成 Clean → Rebuild → Clean Server → Restart 的操作肌肉記憶,能解決絕大多數莫名其妙的部署異常。

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