2017-07-18 1 views
0

ich diesen Fehler habe:ich diese Störung erhalte, wenn sie versuchen Hibernate Search

org.hibernate.search.query.engine.spi.QueryDescriptor class file for org.hibernate.search.query.engine.spi.QueryDescriptor not found

@Transactional 
public void indexEvents() throws Exception 
{ 
    try 
    { 
     Session session = sessionFactory.getCurrentSession(); 

     FullTextSession fullTextSession = Search.getFullTextSession(session); 
     fullTextSession.createIndexer().startAndWait(); 
    } 
    catch(Exception e) 
    { 
     throw e; 
    } 
} 
@Transactional 
public List<Event> searchForEvent(String searchText) throws Exception 
{ 
    try 
    { 
     Session session = sessionFactory.getCurrentSession(); 

     FullTextSession fullTextSession = Search.getFullTextSession(session); 

     QueryBuilder qb = fullTextSession.getSearchFactory() 
       .buildQueryBuilder().forEntity(Event.class).get(); 
     org.apache.lucene.search.Query query = qb 
       .keyword().onFields("name", "city") 
       .matching(searchText) 
       .createQuery(); 

     org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(query, Event.class); //<<--Error 
     List<Event> results = hibQuery.list(); 
     return results; 
    } 
    catch(Exception e) 
    { 
     throw e; 
    } 
} 

Ich habe Hibernate haben und Such Abhängigkeiten Hibernate.

UPDATE: Ich habe dieses Problem gelöst. Das lag an den Unterschieden zwischen den Versionen der Abhängigkeiten. Vielen Dank für Ihre Hilfe.

+0

Bitte veröffentlichen Sie den vollständigen Stack-Trace und erwähnen Sie die Versionen von Hibernate Search und Hibernate ORM, die Sie verwenden. –

+0

Ich benutze Hibernate Search mit Version: 5.7.1.Final und Hibernate Core mit 5.2.10 Final. Und ich bekomme nur das, wenn ich mein Projekt erstelle: org.hibernate.search.query.engine.spi.QueryDescriptor Klassendatei für org.hibernate.search.query.engine.spi.QueryDescriptor nicht gefunden –

+0

Fehler formatiert als blockquote –

Antwort

0

Es ist wahrscheinlich, dass sich die Hibernate-Suchmaschine nicht im Build-Pfad befindet. Stellen Sie sicher, dass Sie Ihrem Compiler alle notwendigen Dateien zur Verfügung gestellt haben. Idealerweise sollten Sie ein Abhängigkeitsverwaltungstool (wie Maven oder Gradle) das für Sie erledigen lassen.

+0

I verwende Maven und ich habe die Abhängigkeit dafür hinzugefügt. –

Verwandte Themen