0

我正在尝试使用 Hibernate(spring-data-jpa 实体和存储库)构建 spring-boot 应用程序的本机映像。

根据我对这个示例的理解,这应该只是将enhance目标添加hibernate-enhance-maven-plugin到我的 Maven 构建中的问题。

我的应用程序在我构建非本机映像时启动,但是当我构建“本机”(可执行文件或 docker 映像)时,它会崩溃:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-08-30 20:41:36.301 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguraf init method failed; nested exception is org.hibernate.AssertionFailure: Error calling ServiceLoader.Provider.type()
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[na:na]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[na:na]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[na:na]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[na:na]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[com.c4_soft.starter.OrdersEndpointApplication:2.5.4]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[com.c4_soft.starter.OrdersEndpointApplication:2.5.4]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[com.c4_soft.starter.OrdersEndpointApplication:2.5.4]
        at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:143) ~[na:na]
        at com.c4_soft.starter.OrdersEndpointApplication.main(OrdersEndpointApplication.java:28) ~[com.c4_soft.starter.OrdersEndpointApplication:na]
Caused by: org.hibernate.AssertionFailure: Error calling ServiceLoader.Provider.type()
        at org.hibernate.boot.registry.classloading.internal.AggregatedServiceLoader$ClassPathAndModulePathAggregatedServiceLoader.collectServiceIfNotDuplicate(AggregatedServiceLoader.java:272) ~[na:na]
        at org.hibernate.boot.registry.classloading.internal.AggregatedServiceLoader$ClassPathAndModulePathAggregatedServiceLoader.loadAll(AggregatedServiceLoader.java:201) ~[na:na]
        at org.hibernate.boot.registry.classloading.internal.AggregatedServiceLoader$ClassPathAndModulePathAggregatedServiceLoader.getAll(AggregatedServiceLoader.java:187) ~[na:na]
        at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.loadJavaServices(ClassLoaderServiceImpl.java:251) ~[na:na]
        at org.hibernate.integrator.internal.IntegratorServiceImpl.<init>(IntegratorServiceImpl.java:40) ~[na:na]
        at org.hibernate.boot.registry.BootstrapServiceRegistryBuilder.build(BootstrapServiceRegistryBuilder.java:224) ~[na:na]
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildBootstrapServiceRegistry(EntityManagerFactoryBuilderImpl.java:452) ~[na:na]
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:208) ~[na:na]
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:168) ~[na:na]
        at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:52) ~[na:na]
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[com.c4_soft.starter.OrdersEndpointApplication:5.
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782) ~[com.c4_soft.starter.OrdersEndpointApplication:5.3.9]
        ... 15 common frames omitted
Caused by: java.lang.NullPointerException: null
        at org.hibernate.boot.registry.classloading.internal.AggregatedServiceLoader$ClassPathAndModulePathAggregatedServiceLoader.collectServiceIfNotDuplicate(AggregatedServiceLoader.java:269) ~[na:na]
        ... 30 common frames omitted

这是我添加到我的 pom.xml 中的内容:

                <plugin>
                    <groupId>org.hibernate.orm.tooling</groupId>
                    <artifactId>hibernate-enhance-maven-plugin</artifactId>
                    <version>${hibernate.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>enhance</goal>
                            </goals>
                            <configuration>
                                <failOnError>true</failOnError>
                                <enableLazyInitialization>true</enableLazyInitialization>
                                <enableDirtyTracking>true</enableDirtyTracking>
                                <enableAssociationManagement>true</enableAssociationManagement>
                                <enableExtendedEnhancement>false</enableExtendedEnhancement>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

我错过了什么?

4

0 回答 0