【问题标题】:Hibernate-Search cause NoClassDefFoundHibernate-Search 导致 NoClassDefFounderror
【发布时间】: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


【解决方案1】:

我正在查看他们的 repo,结果发现您需要 hibernate 5.0.11 Final 才能使用 Hibernate Search 5.5.6 Look here if you need

所以我认为你的问题是版本不兼容。尝试降级您的休眠版本并告诉我。 :)

【讨论】:

  • 没错。请注意,Hibernate Search 5.7 旨在支持 Hibernate ORM 5.2,但目前最新发布的版本(5.7.0.Beta2)仅支持到 5.2.2。下一个版本应该支持 ORM 5.2.6。见hibernate.atlassian.net/browse/HSEARCH-2380
猜你喜欢
  • 1970-01-01
  • 2013-04-24
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 2016-08-29
  • 2011-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多