java:org.apache.ibatis.reflection.ReflectionException 解决记录

	这个问题是maven多模块项目,在本地调式通,在服务器上部署时出现的问题,由于在下功力
尚浅,耗费了一天时间才解决。
Caused by: org.apache.ibatis.reflection.ReflectionException: 
Could not set property 'companyPermitTime' of 'class com.***.***.CompanyCertification' with value '2031年03月23日' 
Cause: org.apache.ibatis.reflection.ReflectionException: There is no setter for property named 'companyPermitTime' in 'class com.***.pojo.CompanyCertification'


org.mybatis.spring.MyBatisSystemException:
nested exception is org.apache.ibatis.reflection.ReflectionException: 
Could not set property 'companyPermitTime' of 'class com.***.pojo.CompanyCertification' with value '2031年03月23日' 
Cause: org.apache.ibatis.reflection.ReflectionException: There is no setter for property named 'companyPermitTime' in 'class com.***.pojo.CompanyCertification'
	报错的意思是没有找到这个实体类,但是我通过本地调式没有问题,就陷入了沉思;检查实体类,
没有问题,检查mapper.xml依旧没有问题;随后检查数据库的字段类型,映射,依旧没有问题,
我逐渐抓狂。
	在网上找的解决方法也都看了,完全不是自己遇到方向;
	网上的基本是jar包重复,方法调用错误等信息。
	后来通过浏览器排查定位代码方法,接着排查服务器,看了下编译后的class文件,终于找到
了问题源头,原来编译后的文件并没有上述问题需要的字段,所以才一直报错。

java:org.apache.ibatis.reflection.ReflectionException 解决记录_第1张图片
上图的字段在编译后都没有,知道了问题的源头就开始解决。

	在maven打包的时候并没有把最新的实体类打包,因为是多模块,我打包是直接在需要的模块
下进行打包,结果就导致了问题的发生,后来在root目录下进行打包,再看编译后的文件,发现有
了,再部署到服务器,成功!
	这只是这个BUG的其中一种形式,但是解决思路大致如此,要在错误信息中心查找蛛丝马迹。

你可能感兴趣的:(代码)