首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将hibernate-search添加到现有系统的依赖项会导致NoSuchFieldException

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

Stack Overflow用户
提问于 2016-11-02 18:15:32
回答 1查看 446关注 0票数 1

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

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

代码语言:javascript
复制
<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中,构建项目并尝试运行它,我就得到了以下异常(这只是最后一部分):

代码语言:javascript
复制
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

所以,首先我只是试着在谷歌上搜索一下,但似乎没有人在这种情况下遇到过这个问题。因此,我试着深入研究代码,看看最新的可能是什么。

在异常之后,我找到了以下代码:

代码语言:javascript
复制
    static {
        DEFAULT_LUCENE_MATCH_VERSION = Version.LATEST;
        DEFAULT_SERVICES_MAP = CollectionHelper.newHashMap(1);
        DEFAULT_SERVICES_MAP.put(IndexManagerFactory.class, DefaultIndexManagerFactory.class.getName());
    }

然后我查看了Versions.LATEST,发现在版本中没有最新的定义。

所以我的问题是,既然我假设这是我的配置的问题,是不是我遗漏了什么或者配置不正确?

因为到目前为止我在任何地方都找不到关于这个问题的任何东西,我猜我需要在这个工作之前设置一些其他的/更多的东西,但是我似乎找不到是什么。我已经尝试了hibernate搜索网站上的入门指南,但没有任何运气。

有谁有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-02-15 01:49:44

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40377353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档