WEB-INF/classes 下無 .class 檔案。Run As 灰色不可點。Build Automatically。檔案實際名稱為 LoginAction(無 .java 副檔名),Eclipse 不識別為 Java 原始檔,故:
F2 → LoginAction.java。Refresh (F5) 或 Clean... → Build Automatically 觸發編譯。bin 或 target/classes 出現 LoginAction.class。| 項目 | 正確狀態 |
|---|---|
| Java 原始檔副檔名 | .java |
| 專案 Facets | Dynamic Web Module + Java |
| Builders | Java Builder 已啟用 |
| 輸出資料夾 | 預設 build/classes 或 Maven target/classes |
| Deployment Assembly | 專案 build/classes → WEB-INF/classes |
Servlet 由 **Servlet Container (Tomcat)** 管理生命週期,Container 讀取 web.xml 或 @WebServlet 註解,實例化並呼叫 init()、service()、destroy()。開發者**不需要也不應寫 main 方法**。
「無法自動編譯 Class」+「Run As 灰色」+「檔名無 .java」= **檔案未被識別為 Java 原始碼**。重新命名加上 .java 即可一鍵修復。