我尝试将spring-data-redis 1.6.4.RELEASE中的Spring Boot应用程序升级到1.7.2.RELEASE,方法是将spring-data-redis依赖项添加到POM,同时保持spring-boot-starter-redis不变(使用Spring Boot 1.3.5.RELEASE)。升级的应用程序无法启动此错误:
引起:java.lang.AbstractMethodError:org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateIfNotFoundQueryLookupStrategy.resolveQuery(Ljava / lang / reflect / Method; Lorg / springframework / data / repository / core / RepositoryMetadata; Lorg / springframework的/数据/投影/ ProjectionFactory; Lorg / springframework的/数据/库/型芯/ NamedQueries)Lorg / springframework的/数据/库/查询/ RepositoryQuery;
有点神秘。
答案 0 :(得分:0)
您需要升级所有Spring Data,而不仅仅是Spring Data Redis。通过覆盖Spring Data Redis的版本,您可以使用不兼容的Spring Data Commons版本。
在使用Spring Boot时,您应该将spring-data-releasetrain.version
属性的版本覆盖为Hopper-SR2
:
<properties>
<spring-data-releasetrain.version>Hopper-SR2</spring-data-releasetrain.version>
</properties>
并从您声明的任何与Spring Data相关的依赖项中删除该版本,以便Boot的依赖关系管理可以使它们保持一致。