找不到Hibernate搜索类异常Lucene Field $ TermVector

时间:2018-08-01 19:25:32

标签: java hibernate gradle lucene hibernate-search

我正在尝试将Hibernate Search集成到我的Spring启动应用程序中,每次尝试使用@Indexed(org.hibernate.search.annotations.Indexed)批注时,都会不断出现以下错误

Caused by: java.lang.ClassNotFoundException: org.apache.lucene.document.Field$TermVector
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 133 more

我有以下相关的gradle依赖项。

compile 'org.hibernate:hibernate-search-orm:5.10.3.Final'
compile 'org.apache.lucene:lucene-core:7.4.0'

我也尝试了不依赖Lucene的情况。我还具有以下休眠和JPA依赖关系。

compile 'javax.persistence:javax.persistence-api:2.2'
compile 'org.hibernate:hibernate-core:5.3.3.Final'
compile 'org.hibernate:hibernate-java8:5.3.3.Final'
compile 'org.hibernate:hibernate-entitymanager:5.3.3.Final'

这让我完全发疯,因为我在教程或SO帖子上找不到任何内容。 随意询问您认为合适的背景。

编辑:将Lucene版本恢复为5.5.4会出现以下错误

java.lang.ClassNotFoundException: org.apache.lucene.analysis.standard.StandardAnalyzer

1 个答案:

答案 0 :(得分:2)

lucene版本错误,请使用Lucene 5.5。

http://hibernate.org/search/releases/5.10/#compatibility