提供的日誌中關鍵異常堆疊:
Caused by: java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
...
Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.WebApplicationContext
WebApplicationContext 位於 spring-web.jar 中。ClassNotFoundException 說明 Tomcat 類加載器找不到該類,常見原因:
provided 或 test,導致打包時未放入 WEB-INF/lib。WEB-INF/lib 下同時存在 spring-web-4.x.jar 和 spring-web-5.x.jar,類加載器載入錯誤版本。$CATALINA_HOME/lib 下放了 Spring 相關 jar,與應用內部版本不一致,導致父子類加載器衝突。war 插件配置錯誤。spring-web-.jar 存在且唯一。mvn dependency:tree:查看依賴傳遞,確保 spring-web 為 compile 範圍。work/Catalina/localhost/ 下對應應用目錄,防止舊類緩存干擾。日誌開頭的 APR 库警告(The APR based Apache Tomcat Native library ... was not found)不影響啟動,僅影響高併發性能。可忽略或安裝 tcnative 解決。
類似問題分析:Tomcat 啟動 ClassNotFoundException 排查
Tomcat 啟動失敗核心異常為 ClassNotFoundException: org.springframework.web.context.WebApplicationContext。請優先檢查應用 WEB-INF/lib 中 spring-web.jar 是否存在、版本是否唯一、依賴範圍是否正確。清理工作目錄並重新部署通常即可解決。