我在 Spring 引导应用程序 (1.2.7) 中使用 Spring Data Solr。现在,由于自定义存储库的 Spring Data Solr Precedence,我必须至少将 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 boot 本身的依赖管理,但这意味着您无法使用标准将括号括在 Solr 查询的部分周围,这非常关键。