hibernate-validator版本問題引發的tomcat7下項目啓動失敗

線上環境

jdk8
tomcat7.0.90

報錯

java.lang.NoClassDefFoundError:javax/el/ELManager

原因

版本引入包:hibernate-validator:6.0.16.Final版本,使用郵箱驗證註解功能,則需要依賴加載對應javax/el/ELManager。
因線上使用tomcat版本爲tomcat7.0.90,在其CATALINA_HOME/lib目錄下的el-api.jar的版本爲2.2版本,無類javax/el/ELManager。
(tomcat8中,el-api.jar包升級爲3.0版本,不會找不到類)因此啓動失敗。

解決

將hibernate-validator版本降到5.4.3.Final版本,去除引用校驗郵箱的註解特性,該用業務代碼處理

爲什麼線下未發現呢?因爲線下環境使用的tomcat版本爲8.5.32版本,與線上未統一。當然這也是不合理的點
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章