多么痛的领悟~

分离资源打包后运行项目,启动失败

数据源初始化失败~
检查问题,这种情况下没有打印错误日志,首先配置一下日志,将错误报告在控制台中打印出来。
resources文件夹下 创建一个 log4j.properties 文件
log4j.rootLogger=INFO, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
创建完成后重新打包运行。
这时控制台会打印一堆错误~

主要的就是这两句
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.dzqc.yx.dao.SysUserMapper.BaseResultMap
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:917)
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:874)
at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:631)
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:289)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:253)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:245)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)
... 79 more
Result Maps collection already contains value for com.dzqc.yx.dao.SysUserMapper.BaseResultMap
这句话说 结果映射集合已包含com.dzqc.yx.dao.SysUserMapper.BaseResultMap的值
但是检查代码中也没有重复的~
于是有一种可能性~ 那就是分离jar包中是否还存在这些文件~于是解压开打包好的jar文件。

令人震惊的是~资源文件都没有分离出去,造成加载xml配置文件重复~

一个靠谱的打包方式 http://www.jiajiajia.club/blog/artical/168
按照这个方式打包完成以后,再看~

xml文件都不在了~打包ok

启动正常