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

Eclipse Web 專案無法自動編譯 Class:檔案命名與 Builder 配置排查

     編輯:程式設計疑難解答

錯誤現象

  • 專案發布到 Tomcat 報 404。
  • WEB-INF/classes 下無 .class 檔案。
  • 右鍵 Java 檔 Run As 灰色不可點。
  • 專案已勾選 Build Automatically。

根本原因

檔案實際名稱為 LoginAction(無 .java 副檔名),Eclipse 不識別為 Java 原始檔,故:

  1. 不參與 Java Builder 編譯。
  2. 無法以 Java Application 執行(無 main 也無關)。
  3. 部署時無 class 檔 → 404。

解決步驟

  1. 在 Package Explorer 中重新命名:F2 → LoginAction.java。
  2. 專案右鍵 → Refresh (F5) 或 Clean... → Build Automatically 觸發編譯。
  3. 確認 bin 或 target/classes 出現 LoginAction.class。
  4. 重新發布 Tomcat,驗證 404 消失。

預防檢查清單

項目正確狀態
Java 原始檔副檔名.java
專案 FacetsDynamic Web Module + Java
BuildersJava Builder 已啟用
輸出資料夾預設 build/classes 或 Maven target/classes
Deployment Assembly專案 build/classes → WEB-INF/classes

補充:Servlet 無 main 方法為何能跑?

Servlet 由 **Servlet Container (Tomcat)** 管理生命週期,Container 讀取 web.xml 或 @WebServlet 註解,實例化並呼叫 init()、service()、destroy()。開發者**不需要也不應寫 main 方法**。

總結

「無法自動編譯 Class」+「Run As 灰色」+「檔名無 .java」= **檔案未被識別為 Java 原始碼**。重新命名加上 .java 即可一鍵修復。

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