使用SpringData出现java.lang.AbstractMethodError
最近学习一下SpringData,在添加SpringData支持的时候,出现了这样的问题:
SpringData需要的jar有:spring-data-jpa.jar spring-data-commons.jar slf4j-api.jar
没有添加slf4j也会出现一个异常,不过那个异常说的非常明确,就是少slf4j,可能SpringData使用slf4作为日志框架
又回到java.lang.AbstractMethodError这个错误上,先说明原因吧:就是版本不兼容导致的。
最初我是用的是spring-data-jpa 的2.0版本,是目前最新的,spring-data-commons的版本记不得了,就出现了这个错误,查看官方的文档,发现2.0的版本是要支持spring framework 5 然而我是用的spring版本是 4.3.6 所以就不兼容啦。
附上官方的原话:
所以我换成spring-data-jpa-1.11.8.jar就好了。那我又是如何知道要使用哪个版本的spring-data-commons呢?
没错,我使用Maven来构建项目了,果然这些版本问题,jar包冲突都需要Maven来处理
最后说一下我使用的springData具体版本吧:
spring-data-jpa-1.11.8.RELEASE.jar spring-data-commons-1.13.8.RELEASE.jar 当然不要忘了slf4j slf4j-api-1.7.5.jar