初学Mybatis在生成SqlSessionFactory的对象时发现编译器MyEclipse总是报以下这个错误:
The type org.apache.ibatis.session.Configuration cannot be resolved. It is indirectly referenced from required .class files
后来查了好久的资料发现,可能出现的问题有以下三点:
1.没有引用jar包:org.apache.ibatis.session.SqlSessionFactoryBuilder
2.某个项目需要的jar包没有导入。正要使用的类可能调用了另一个类,而这个类又调用了其他类,这样的调用关系可能会有好多层,而在这个调用的过程中,某个类所在的包若是缺失就会造成以上那个错误。
解决方法:导入缺失的包。
3.配置上出现了问题:Mybatis的版本和当前的JDK版本不匹配(以前出现这种无法解析类型的情况,大多都是JDK版本过高,但这里比较特殊,是由于Mybatis版本过高)
解决方法:换成低版本的Mybatis。
依次进行检查及测试:
最终发现问题出在第3点,原先我用的是Mybatis3.5.6和JDK1.7,当我把Mybatis的版本改为3.4.6后就没再标红了。
第一次写总结分享,可能有疏漏和不当之处,欢迎小伙伴们留言共同探讨,谢谢!