【发布时间】:2017-01-15 22:09:37
【问题描述】:
我正在尝试将 Hibernate-Search 与 Hibernate-core 5.2.6 一起使用,所以我把它放在我的 pom.xml 中:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search</artifactId>
<version>5.5.6.Final</version>
</dependency>
但是当我使用这个依赖项时,我的 EntityManagerProducer 中出现了 NoClassDefFoundError,我不知道为什么会发生这种情况。如果我删除此依赖项,一切正常。
编辑:这是我的 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;
}
}
【问题讨论】:
-
你能展示你的EntityManagerProducer吗?
-
当然,我用这个内容编辑了我的帖子。
标签: hibernate maven hibernate-search