2017-05-19 2 views
0

프로젝트의 배포가 새롭게 구현 한 동안 예외가 받고 노르웨이어 분석기는 루씬 : 노르웨이어 분석기 - java.lang.NoSuchMethodError : 오류의 org.apache.lucene.analysis.WordlistLoader.getSnowballWordSet

@Fields({ @Field(index = Index.YES, store = Store.YES, analyzer = @Analyzer(impl=NorwegianAnalyzer.class)) 

자세한 스택 추적 is :

Caused by: org.hibernate.search.SearchException: Failed to instantiate lucene analyzer with type org.apache.lucene.analysis.no.NorwegianAnalyzer 
     at org.hibernate.search.engine.impl.AnnotationProcessingHelper.getAnalyzer(AnnotationProcessingHelper.java:170) 
     at org.hibernate.search.engine.impl.FieldMetadata.<init>(FieldMetadata.java:94) 
     at org.hibernate.search.engine.spi.AbstractDocumentBuilder.bindFieldAnnotation(AbstractDocumentBuilder.java:1085) 
     at org.hibernate.search.engine.spi.AbstractDocumentBuilder.checkForFields(AbstractDocumentBuilder.java:552) 
     at org.hibernate.search.engine.spi.AbstractDocumentBuilder.initializeMemberLevelAnnotations(AbstractDocumentBuilder.java:485) 
     at org.hibernate.search.engine.spi.AbstractDocumentBuilder.initializeClass(AbstractDocumentBuilder.java:392) 
     at org.hibernate.search.engine.spi.AbstractDocumentBuilder.<init>(AbstractDocumentBuilder.java:174) 
     at org.hibernate.search.engine.spi.DocumentBuilderContainedEntity.<init>(DocumentBuilderContainedEntity.java:60) 
     at org.hibernate.search.spi.SearchFactoryBuilder.initDocumentBuilders(SearchFactoryBuilder.java:396) 
     at org.hibernate.search.spi.SearchFactoryBuilder.buildNewSearchFactory(SearchFactoryBuilder.java:222) 
     at org.hibernate.search.spi.SearchFactoryBuilder.buildSearchFactory(SearchFactoryBuilder.java:146) 
     at org.hibernate.search.event.impl.FullTextIndexEventListener.initialize(FullTextIndexEventListener.java:130) 
     at org.hibernate.search.hcore.impl.HibernateSearchIntegrator.integrate(HibernateSearchIntegrator.java:83) 
     at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:306) 
     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1797) 
     at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96) 
     at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) 
     at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899) 
     at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:76) 
     at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:268) 
     at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) 
     ... 42 more 
Caused by: org.hibernate.search.SearchException: Unable to instantiate analyzer class: org.apache.lucene.analysis.no.NorwegianAnalyzer. Verify it has a no-args public constructor and is not abstract. Also Analyzer implementation classes or their tokenStream() and reusableTokenStream() implementations must be final. 
     at org.hibernate.search.util.impl.ClassLoaderHelper.analyzerInstanceFromClass(ClassLoaderHelper.java:234) 
     at org.hibernate.search.engine.impl.AnnotationProcessingHelper.getAnalyzer(AnnotationProcessingHelper.java:161) 
     ... 64 more 
Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
     at org.hibernate.search.util.impl.ClassLoaderHelper.analyzerInstanceFromClass(ClassLoaderHelper.java:215) 
     ... 65 more 
Caused by: java.lang.NoSuchMethodError: org.apache.lucene.analysis.WordlistLoader.getSnowballWordSet(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/Set; 
     at org.apache.lucene.analysis.no.NorwegianAnalyzer$DefaultSetHolder.<clinit>(NorwegianAnalyzer.java:65) 
     at org.apache.lucene.analysis.no.NorwegianAnalyzer.<init>(NorwegianAnalyzer.java:79) 

같은 문제를 어떻게 해결할 수 있습니까?

답변

0

스택 트레이스에 언급 된 org.apache.lucene.analysis.no.NorwegianAnalyzer이 예상 된 버전 org.apache.lucene.analysis.WordlistLoader과 일치하지 않는 것 같습니다.

Apache Lucene의 최신 버전에서 두 클래스가 모두 동일한 병에 포함되어 있기 때문에 클래스 패스에 Lucene Jar의 중복 버전이있을 가능성이 높습니다.

최대 절전 모드 검색에서 예상되는 버전과 일치하는 Apache Lucene 버전의 jar 만 사용하십시오.