gpt4 book ai didi

java - 将 hibernate-search 添加到现有系统的依赖项会导致 NoSuchFieldException

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:49 25 4
gpt4 key购买 nike

我目前正在将 hibernate-search 添加到一个大型现有项目中,但已经遇到了一个我似乎无法解决的问题。

我的问题归结为仅通过添加 hibernate-search 的 Maven 依赖项来引入:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.5.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.0.11.Final</version>
</dependency>

一旦我将其添加到我的 pom.xml 中,构建项目并尝试运行它,我就会收到以下异常(这只是最后一部分):

Caused by: java.lang.NoSuchFieldError: LATEST
at org.hibernate.search.cfg.Environment.<clinit>(Environment.java:213)
at org.hibernate.search.spi.SearchIntegratorBuilder.createCleanFactoryState(SearchIntegratorBuilder.java:280)
at org.hibernate.search.spi.SearchIntegratorBuilder.buildNewSearchFactory(SearchIntegratorBuilder.java:186)
at org.hibernate.search.spi.SearchIntegratorBuilder.buildSearchIntegrator(SearchIntegratorBuilder.java:117)
at org.hibernate.search.hcore.impl.HibernateSearchSessionFactoryObserver.sessionFactoryCreated(HibernateSearchSessionFactoryObserver.java:75)
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:520)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:465)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:708)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at org.springframework.orm.hibernate5.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:416)
at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:401)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1641)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
... 123 more

所以,首先我只是尝试用谷歌搜索它,但似乎以前没有人在这个设置中遇到过这个问题。因此,我尝试深入研究代码,看看最新的可能是什么。

在异常之后,我发现以下代码:

    static {
DEFAULT_LUCENE_MATCH_VERSION = Version.LATEST;
DEFAULT_SERVICES_MAP = CollectionHelper.newHashMap(1);
DEFAULT_SERVICES_MAP.put(IndexManagerFactory.class, DefaultIndexManagerFactory.class.getName());
}

然后我检查了 Versions.LATEST,结果发现 Versions 中没有定义 LATEST。

所以我的问题是,因为我认为这是我的配置问题,所以我是否遗漏了某些内容或配置不正确?

由于到目前为止我在任何地方都找不到有关此问题的任何信息,我猜我需要在此之前进行其他设置/更多设置,但我似乎无法找出是什么。我尝试按照 hibernate-search 网站上的入门指南进行操作,但没有成功。

大家有什么想法吗?

最佳答案

这个问题发生在我的 Hibernate Search 5.11.1 上,我通过将 Apache Lucene 从版本 3.6.2 更新到 5.5.5 解决了这个问题

关于java - 将 hibernate-search 添加到现有系统的依赖项会导致 NoSuchFieldException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40377353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com