2016-07-25 85 views
0

我试着将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)。升级后的应用程序无法启动与此错误:弹簧数据redis/spring引导依赖不匹配?

产生的原因:java.lang.AbstractMethodError:org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy $ CreateIfNotFoundQueryLookupStrategy.resolveQuery(Ljava /朗/反映出/方法; Lorg/springframework的/数据/库/型芯/ RepositoryMetadata; Lorg/springframework的/数据/投影/ ProjectionFactory; Lorg/springframework的/数据/库/型芯/ NamedQueries)Lorg/springframework的/数据/库/查询/ RepositoryQuery;

有点神秘。

+0

你可以共享'AbstractMethodError'的堆栈跟踪吗? –

+0

请参阅[链接](https://gist.github.com/Ed42/2315d2272c80d7db708421e4e4af08cf) – user3380516

+0

我真的很感激任何帮助或建议。我需要一些在spring-data-redis 1.7.x中引入的功能(例如@RedisHash)。 – user3380516

回答

0

您需要升级所有的Spring Data,而不仅仅是Spring Data Redis。通过简单地覆盖Spring Data Redis的版本,您将得到一个不兼容的Spring Data Commons版本。

当你正在使用Spring启动,你应该重写spring-data-releasetrain.version属性的版本Hopper-SR2

<properties> 
    <spring-data-releasetrain.version>Hopper-SR2</spring-data-releasetrain.version> 
</properties> 

,并从您已声明,这样引导的依赖关系管理可以任何Spring数据相关的依赖性删除版本保持它们全部对齐。