1. 程式人生 > >"No Spring WebApplicationInitializer types detected on classpath" 解決方案

"No Spring WebApplicationInitializer types detected on classpath" 解決方案

前言

這兩天從新搭建專案框架,用的框架版本如下:
* Maven 3.3.3
* Spring 4.1.5
* SpringMVC 4.1.5
* MyBatis 3.3.0
* Servlet 3.0
伺服器啟動的log中有這樣一行:
這裡寫圖片描述

雖然並不影響執行,但是看著不舒服,記錄一下去掉它解決方案。

metadata-complete

在Servlet 3.0中有一個新的屬性——metadata-complete,關於它的解釋是這樣的:

“metadata-complete”屬性定義了web描述符是否是完整的,或是否應該在部署時檢查jar包中的類檔案和web fragments。如果“metadata-complete”設定為“true”,部署工具必須必須忽略存在於應用的類檔案中的所有servlet註解和web fragments。如果metadata-complete屬性沒有指定或設定為“false”,部署工具必須檢查應用的類檔案的註解,並掃描web fragments。

Spring 3之後在載入配置檔案會先掃描查詢WebApplicationInitializer實現類,我們通過設定metadata-complete=”true”來關閉它即可。

總結

簡單記錄一下這個問題的解決方案,僅供參考,The End。