2017-01-15 5 views
0

Я пытаюсь использовать Hibernate-поиск с Hibernate-ядром 5.2.6, поэтому я гнал это в моем pom.xml:Hibernate-Search причина NoClassDefFound

<dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-search</artifactId> 
      <version>5.5.6.Final</version> 
     </dependency> 

Но когда я использую эту зависимость я получил NoClassDefFoundError в моем EntityManagerProducer, у меня нет идей, почему это происходит. Если я удалю эту зависимость, все работает отлично.

Редактировать: Это мой EntityManagerProducer.

import org.apache.deltaspike.jpa.api.entitymanager.PersistenceUnitName; 
import org.apache.deltaspike.jpa.api.transaction.TransactionScoped; 

import javax.enterprise.context.RequestScoped; 
import javax.enterprise.inject.Disposes; 
import javax.enterprise.inject.Produces; 
import javax.inject.Inject; 
import javax.persistence.EntityManager; 
import javax.persistence.EntityManagerFactory; 
import javax.persistence.Persistence; 
import java.io.Serializable; 

public class EntityManagerProducer implements Serializable { 

    private static final long serialVersionUID = 1L; 

    private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("generalPU"); 

    @Produces 
    @TransactionScoped 
    // is a bit better than @RequestScoped because it won't allow perform injection outside transaction context 
    public EntityManager createEntityManager() { 
     return emf.createEntityManager(); 
    } 

    public void close(@Disposes EntityManager em) { 
     if (em.isOpen()) { 
      em.close(); 
     } 
    } 


    public EntityManagerFactory getEmf() { 
     return emf; 
    } 


    public void setEmf(EntityManagerFactory emf) { 
     this.emf = emf; 
    } 

} 
+0

Вы можете показать свой EntityManagerProducer? – Boldbayar

+0

Несомненно, я отредактировал мое сообщение с этим контентом. – RonaldoLanhellas

ответ

1

Я смотрю на их репо и получается, что вам нужно зимуют 5.0.11 Final для Hibernate Search 5.5.6 Look here if you need

Так я думаю, ваша проблема несовместимой версии. Попытайтесь понизить версию спящего режима и дайте мне знать. :)

+0

Точно. Обратите внимание, что Hibernate Search 5.7 нацелен на поддержку Hibernate ORM 5.2, но последняя выпущенная версия (5.7.0.Beta2) поддерживает только до 5.2.2. Следующая версия должна поддерживать ORM 5.2.6. См. Https://hibernate.atlassian.net/browse/HSEARCH-2380. –

Смежные вопросы