錯誤信息:
springboot
項目打成war
包時部署到外部tomcat
時報錯,報錯信息如下:
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'mybatis.configuration.result-maps[0]' to org.apache.ibatis.mapping.ResultMap:
Reason: Failed to extract parameter names for org.apache.ibatis.mapping.ResultMap(org.apache.ibatis.mapping.ResultMap$1)
Action:
Update your application's configuration
原因分析:
在SpringBoot 2.1.9.RELEASE中不會出現這個問題,高版本中引入了JNDI查詢而出現此問題,因此禁用jndi即可。
SpringBoot啓動時會首先讀取spring.properties
配置文件,再去讀取系統環境變量,查找spring.jndi.ignore
的值。
解決方法
- 在項目resources根目錄下新增
spring.properties
配置文件,配置文件內容爲:
注意配置文件的名稱必須爲spring.jndi.ignore=true
spring.properties
,原因請參見參考文檔4 - Tomcat 啓動時VM Options加上
-Dspring.jndi.ignore=true
參考文檔
1.https://github.com/baomidou/mybatis-plus/issues/1608
2.https://github.com/mybatis/spring-boot-starter/issues/387
3.https://github.com/mybatis/spring-boot-starter/issues/350
4.https://blog.csdn.net/qq_30739519/article/details/78536965