Tomcat 啟動過程中長時間卡在加載階段,最終報超時錯誤。控制台無明確異常堆棧,僅顯示部署進度條停滯。
經排查,DAO 層僅提交了映射 XML 文件,對應的 Java 接口或實體類未提交。導致 Spring/MyBatis 初始化時:
<mapper namespace="com.xxx.dao.UserDao">UserDao 接口類,ClassNotFoundException 被內部吞噬或包裹server.xml 配置的 startStopThreads 超時時間,強制終止部署<resources> 包含 **/*.xml,Java 源碼正常編譯輸出validateMap=false 可緩解,但治標不治本server.xml <Engine> 的 startStopThreads 或 deploymentTimeout,僅作過渡mvn compile 失敗即阻斷部署<!-- server.xml 增加部署超時(毫秒) -->
<Engine name="Catalina" defaultHost="localhost" deploymentTimeout="120000">
<Host ...>
<Context ... />
</Host>
</Engine>