2016-07-25 41 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數據相關的依賴性刪除版本保持它們全部對齊。