[英]Using new version of Spring data Solr with Spring boot
我在Spring引導應用程序(1.2.7)中使用Spring Data Solr。 現在,由於自定義存儲庫的Spring Data Solr優先級,我必須至少將Spring Data Solr更新到1.4.x,而當前版本是1.3.x。
但是,如果我明確添加以下依賴項:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-solr</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>
運行該應用程序后,出現以下異常:
Caused by: java.lang.NoClassDefFoundError: org/springframework/data/mapping/PersistentPropertyAccessor
at org.springframework.data.solr.core.SolrTemplate.getDefaultSolrConverter(SolrTemplate.java:573)
at org.springframework.data.solr.core.SolrTemplate.afterPropertiesSet(SolrTemplate.java:622)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
... 61 more
Caused by: java.lang.ClassNotFoundException: org.springframework.data.mapping.PersistentPropertyAccessor
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 65 more
我知道您通常應該信任Spring啟動本身的依賴關系管理,但這意味着您不能使用條件在Solr查詢的各個部分加上括號,這非常關鍵。
Spring Data作為一組旨在一起工作的模塊發布。 通過僅升級spring-data-solr
您試圖使其與所有Spring Data依賴項的較舊版本一起使用。 我建議升級所有Spring Data,以便獲得一致的版本集。
Spring Data Fowler發行版包含Spring Data Solr 1.4.x,而SR2包含Spring Data Solr 1.4.2。 假設您使用spring-boot-starter-parent
作為pom的父母,則可以通過覆蓋spring-data-releasetrain.version
屬性來使用此版本:
<properties>
<spring-data-releasetrain.version>Fowler-SR2</<spring-data-releasetrain.version>
</properties>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.