关于web项目当中的mybatis的xml 文件的配置启动报错的解决。

最近的web项目当中遇到自己自定义的xml文件,但是在启动的时候报错。找了半天的原因也不知道在哪里。

报的错误如下:

 Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.huifu.uttm.dal.repository.UttTransLogRepository.BaseResultMap
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)
at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:521)
... 90 common frames omitted
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.huifu.uttm.dal.repository.UttTransLogRepository.BaseResultMap
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:859)
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:831)
at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:613)
at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:214)
at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:285)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
 
从上面的错误可以看出很明显是xml文件当中出错了,然后就找错误,但是一直找不到。检查了好多遍。
最后想起来来原因了,因为之前在提交这个文件到SVN的时候冲突,重新备份了一份,然后拿进来改了一个名字,放进来然后就把相关不冲突的代码copy进来。
然后项目在启动的时候就报错。截图如下:
 
图片中这两个xml文件当中的BaseResultMap当中指定的类是同一个,所以导致出错了。最后百度了一下才发现我们sprig-boot在启动的时候会去加载文件识别这个BaseResultMap
然后发现有两个BaseResultMap然后就提示报错了。这才是正真的原因。
 
 
 
 
 
 

posted on 2018-08-19 11:00  gxg123  阅读(1882)  评论(0编辑  收藏  举报

导航