org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'commodityController'
...
Caused by: java.lang.NoClassDefFoundError: Lcom/ronhan/ctoc/dao/CommodityMapper;
Caused by: java.lang.ClassNotFoundException: com.ronhan.ctoc.dao.CommodityMapper
Spring 容器啟動時嘗試向 commodityController 注入 CommodityMapper 依賴,但類別載入器找不到該類別。NoClassDefFoundError 配合 ClassNotFoundException 明確指出:編譯時存在、執行時缺失。
mapperLocations 或 basePackage 配置是否包含 com.ronhan.ctoc.dao。target/classes/com/ronhan/ctoc/dao/CommodityMapper.class 是否存在?嘗試 mvn clean compile 或 IDE 重新建置。pom.xml 依賴且 scope 非 provided。wtpwebapps 或 webapps 下舊專案資料夾,清理 Tomcat work 目錄後重新部署。最終發現是 IDEA Project Facets → Utility Module 勾選狀態導致模組未正確輸出至 WAR。取消勾選或調整 Facet 設定後重新部署即正常。
mvn clean package 命令列打包驗證 WAR 內容:jar -tf target/xxx.war | grep CommodityMapper。WEB-INF/classes 確認關鍵類別確實存在。