【发布时间】:2021-09-01 17:18:58
【问题描述】:
我正在尝试使用 Spring 和 buildpacks 将我的服务构建为 GraalVM 本机映像。我的应用程序是与 PostgreSQL 数据库对话的 Spring Data REST 应用程序。代码中没有什么异常。映像构建没有问题,并且在 Docker 容器之外运行,但是当我尝试运行生成的 GraalVM 容器时,出现错误:
Description:
Native reflection configuration for org.hibernate.dialect.PostgreSQLDialect is missing.
例外是
Caused by: java.lang.ClassNotFoundException: org.hibernate.dialect.PostgreSQLDialect
at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:71) ~[na:na]
at java.lang.Class.forName(DynamicHub.java:1319) ~[.....:na]
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:130) ~[na:na]
我的应用程序.yml:
---
spring:
config:
activate:
on_profile: local
datasource:
url: jdbc:postgresql://localhost:5432/test
username: postgres
password: 1234
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
use-new-id-generator-mappings: false
ddl-auto: none
show-sql: true
properties:
hibernate:
dialect: org.hibernate.dialect.PostgreSQLDialect
javax:
persistence:
validation:
mode: none
我知道 Spring 原生图像支持仍然存在问题,我只是想知道问题是否在我这边。
【问题讨论】:
标签: postgresql spring-boot graalvm-native-image