Caused by: Action class [com.xu.action] not found
- action - file:/.../struts.xml:8:70
struts.xml 中配置的 class="com.xu.action" **找不到對應的類**。常見原因:
WEB-INF/classes(檢查 Build Path、Deployment Assembly)。struts.xml <package> 指定正確的 namespace 或掃描路徑)。<package name="default" namespace="/" extends="struts-default">
<action name="login" class="com.xu.action.LoginAction" method="execute">
<result name="success">/success.jsp</result>
</action>
</package>
class 必須是**全限定類名**,且類存在於專案中。method 預設為 execute,可省略。src 映射到 WEB-INF/classes。mvn clean compile 確認 target/classes/com/xu/action/LoginAction.class 存在。package com.xu.action;
public class LoginAction extends ActionSupport {
private String username;
// getter/setter
public String execute() {
// 業務邏輯
return SUCCESS;
}
}
ActionSupport(提供驗證、國際化等)。<constant name="struts.devMode" value="false" />
log4j:WARN No appenders could be found → 加入 log4j.properties 或 log4j2.xml 到 classpath。AprLifecycleListener init ... not found → 非致命,僅影響原生傳輸效能,可忽略或安裝 tcnative。Action class not found 90% 是 struts.xml 類名錯誤或類未編譯到輸出目錄。依序核對:XML 類名 → 類實際存在 → 編譯輸出路徑 → 類繼承關係。修正後重新部署即可。