我目前正在将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,发现在版本中没有最新的定义。
所以我的问题是,既然我假设这是我的配置的问题,是不是我遗漏了什么或者配置不正确?
因为到目前为止我在任何地方都找不到关于这个问题的任何东西,我猜我需要在这个工作之前设置一些其他的/更多的东西,但是我似乎找不到是什么。我已经尝试了hibernate搜索网站上的入门指南,但没有任何运气。
有谁有什么想法吗?
发布于 2019-02-15 01:49:44
这个问题发生在我的Hibernate Search 5.11.1上,我通过将Apache Lucene从版本3.6.2更新到5.5.5解决了这个问题
https://stackoverflow.com/questions/40377353
复制相似问题