【问题标题】:Provider org.hibernate.envers.boot.internal.EnversIntegrator not a subtype tomcat 8提供者 org.hibernate.envers.boot.internal.EnversIntegrator 不是子类型 tomcat 8
【发布时间】:2021-04-16 08:53:09
【问题描述】:

所以我使用 jar hibernate-envers 5.1.14 和 hibernate-core 5.4.14 和 tomcat 8 我正面临这个例外:

Caused by: java.util.ServiceConfigurationError: org.hibernate.integrator.spi.Integrator: Provider org.hibernate.envers.boot.internal.EnversIntegrator not a subtype
at java.util.ServiceLoader.fail(ServiceLoader.java:239)
at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:340)
at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:40)
at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:213)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildBootstrapServiceRegistry(EntityManagerFactoryBuilderImpl.java:366)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:167)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:150)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:54)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579)
... 27 more

经过一番调查,在 IntegratorServiceImpl 类中执行此行时抛出异常

for ( Integrator integrator : classLoaderService.loadJavaServices( Integrator.class ) )

据我所知,EnversIntegrator 从 hibernate-core 实现了 Integrator 接口 这是来自 EnversIntegrator 的代码片段

import org.hibernate.integrator.spi.Integrator;
import org.hibernate.service.spi.SessionFactoryServiceRegistry;
import org.jboss.logging.Logger;

public class EnversIntegrator implements Integrator {
  private static final Logger log = Logger.getLogger(EnversIntegrator.class);

PS:我 100% 在我的应用程序或服务器中没有多个 Hibernate jar 版本

【问题讨论】:

    标签: hibernate tomcat jakarta-ee hibernate-envers


    【解决方案1】:

    但是您使用的 hibernate-envers 版本与您使用的 hibernate-core 版本不兼容。两者的版本必须匹配,因为它们总是一起发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-28
      • 2019-09-14
      • 2017-03-11
      • 2017-03-09
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多