首页 > 解决方案 > 带有 h2 驱动程序的 spring-boot fat jar 无法构建 graalvm 本机映像

问题描述

我无法将带有 h2 驱动程序的 spring-boot fat jar 转换为 graalvm 本机映像,以下是异常消息:

Excluding 0 auto-configurations from spring.factories file
Processing existing META-INF/spring.components files...
Registered 15 entries
Configuring initialization time for specific types and packages:
#87 buildtime-init-classes   #23 buildtime-init-packages   #33 runtime-init-classes    #1 runtime-init-packages

Error: Incompatible change of initialization policy for org.springframework.boot.validation.MessageInterpolatorFactory: trying to change RUN_TIME from the command line to BUILD_TIME from feature org.springframework.graalvm.support.InitializationHandler.register
com.oracle.svm.core.util.UserError$UserException: Incompatible change of initialization policy for org.springframework.boot.validation.MessageInterpolatorFactory: trying to change RUN_TIME from the command line to BUILD_TIME from feature org.springframework.graalvm.support.InitializationHandler.register
    at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:98)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insertRec(ClassInitializationConfiguration.java:112)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationConfiguration.insert(ClassInitializationConfiguration.java:63)
    at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.initializeAtBuildTime(ConfigurableClassInitialization.java:392)
    at org.graalvm.nativeimage.hosted.RuntimeClassInitialization.initializeAtBuildTime(RuntimeClassInitialization.java:118)
    at org.springframework.graalvm.support.InitializationHandler.register(InitializationHandler.java:52)
    at org.springframework.graalvm.support.SpringFeature.beforeAnalysis(SpringFeature.java:79)
    at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$7(NativeImageGenerator.java:679)
    at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:70)
    at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:679)
    at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:538)
    at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:451)
    at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error: Image build request failed with exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.097 s
[INFO] Finished at: 2020-06-27T11:41:49+08:00
[INFO] Final Memory: 53M/1388M
[INFO] ------------------------------------------------------------------------

我确实首先使用代理运行它以获取配置文件并在 native-image-maven-plugin 配置中包含“-H:ConfigurationResourceRoots=nativeimage”。

我的构建环境中使用的模块版本:

native-image-maven-plugin: 20.1.0
spring-graalvm-native: 0.7.0
graal-sdk: 20.1.0
spring-boot-starter-parent: 2.3.0.RELEASE
spring-context-indexer

这可以通过配置或其他方式解决吗?

编辑@ 2020/07/01 -- spring-boot-starter-parent:2.4.0-SNAPSHOT spring-
graalvm -native:0.8.0-SNAPSHOT 和


<buildArgs>-H:+ReportExceptionStackTraces -H:+TraceClassInitialization --allow-incomplete-classpath -H:+RemoveSaturatedTypeFlows -R:MaxHeapSize=16g -J-Xmx16G</buildArgs>
Warning: class initialization of class org.springframework.boot.validation.MessageInterpolatorFactory failed with exception java.lang.NoClassDefFoundError: javax/validation/ValidationException. This class will be initialized at run time because option --allow-incomplete-classpath is used for image building. Use the option --initialize-at-run-time=org.springframework.boot.validation.MessageInterpolatorFactory to explicitly request delayed initialization of this class.
Number of types dynamically registered for reflective access: #2826
[com.xxx.xxx.xxx.xxx:4160331]     analysis:  68,477.47 ms,  5.20 GB
Error: Classes that should be initialized at run time got initialized during image building:
 com.alibaba.druid.mock.MockDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.alibaba.druid.mock.MockDriver.<clinit>(MockDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.mysql.jdbc.NonRegisteringDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.mysql.fabric.jdbc.FabricMySQLDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.mysql.fabric.jdbc.FabricMySQLDriver.<clinit>(FabricMySQLDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.alibaba.druid.proxy.DruidDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.alibaba.druid.proxy.DruidDriver.<clinit>(DruidDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.mysql.jdbc.Driver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.mysql.jdbc.Driver.<clinit>(Driver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)


com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
 com.alibaba.druid.mock.MockDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.alibaba.druid.mock.MockDriver.<clinit>(MockDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.mysql.jdbc.NonRegisteringDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.mysql.jdbc.NonRegisteringDriver.<clinit>(NonRegisteringDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.mysql.fabric.jdbc.FabricMySQLDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.mysql.fabric.jdbc.FabricMySQLDriver.<clinit>(FabricMySQLDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.alibaba.druid.proxy.DruidDriver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.alibaba.druid.proxy.DruidDriver.<clinit>(DruidDriver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)

com.mysql.jdbc.Driver was unintentionally initialized at build time. org.h2.Driver caused initialization of this class with the following trace: 
    at com.mysql.jdbc.Driver.<clinit>(Driver.java)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at java.sql.DriverManager$2.run(DriverManager.java:603)
    at java.sql.DriverManager$2.run(DriverManager.java:583)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.sql.DriverManager.loadInitialDrivers(DriverManager.java:583)
    at java.sql.DriverManager.<clinit>(DriverManager.java:101)
    at org.h2.Driver.load(Driver.java:155)
    at org.h2.Driver.<clinit>(Driver.java:41)


    at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
    at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.checkDelayedInitialization(ConfigurableClassInitialization.java:518)
    at com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:187)
    at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$8(NativeImageGenerator.java:720)
    at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:70)
    at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:720)
    at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:538)
    at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:451)
    at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

编辑@ 2020/07/02 -
当我尝试在构建时初始化“无意初始化”类时出现以下错误。

Warning: class initialization of class org.springframework.boot.validation.MessageInterpolatorFactory failed with exception java.lang.NoClassDefFoundError: javax/validation/ValidationException. This class will be initialized at run time because option --allow-incomplete-classpath is used for image building. Use the option --initialize-at-run-time=org.springframework.boot.validation.MessageInterpolatorFactory to explicitly request delayed initialization of this class.
Number of types dynamically registered for reflective access: #2824
[com.xxx.xxx.xxx.xxx:1276846]     (clinit):   1,639.21 ms,  6.48 GB
[com.xxx.xxx.xxx.xxx:1276846]   (typeflow):  41,244.42 ms,  6.48 GB
[com.xxx.xxx.xxx.xxx:1276846]    (objects):  34,338.05 ms,  6.48 GB
[com.xxx.xxx.xxx.xxx:1276846]   (features):   9,918.59 ms,  6.48 GB
[com.xxx.xxx.xxx.xxx:1276846]     analysis:  89,221.06 ms,  6.48 GB
Error: Unsupported features in 2 methods
Detailed message:
Error: type is not available in this platform: org.graalvm.compiler.hotspot.management.SVMMBean
Trace: Object was reached by 
    reading field com.sun.jmx.mbeanserver.NamedObject.object of
        constant com.sun.jmx.mbeanserver.NamedObject@4e61fbc2 reached by 
    reading field java.util.HashMap$Node.value of
        constant java.util.HashMap$Node@41a5eec0 reached by 
    reading field java.util.HashMap$Node.next of
        constant java.util.HashMap$Node@4a321ac0 reached by 
    indexing into array
        constant java.util.HashMap$Node[]@5ec2c4b0 reached by 
    reading field java.util.HashMap.table of
        constant java.util.HashMap@441dc7c0 reached by 
    reading field java.util.HashMap$Node.value of
        constant java.util.HashMap$Node@8f15e1fa reached by 
    indexing into array
        constant java.util.HashMap$Node[]@2a17237f reached by 
    reading field java.util.HashMap.table of
        constant java.util.HashMap@5eace3ce reached by 
    reading field com.sun.jmx.mbeanserver.Repository.domainTb of
        constant com.sun.jmx.mbeanserver.Repository@1397c899 reached by 
    reading field com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.repository of
        constant com.sun.jmx.interceptor.DefaultMBeanServerInterceptor@1a8e83d1 reached by 
    reading field com.sun.jmx.mbeanserver.JmxMBeanServer.mbsInterceptor of
        constant com.sun.jmx.mbeanserver.JmxMBeanServer@1d840f77 reached by 
    reading field java.lang.ref.Reference.referent of
        constant com.sun.jmx.mbeanserver.WeakIdentityHashMap$IdentityWeakReference@1d840f77 reached by 
    reading field java.util.HashMap$Node.key of
        constant java.util.HashMap$Node@61056459 reached by 
    indexing into array
        constant java.util.HashMap$Node[]@1db861a7 reached by 
    reading field java.util.HashMap.table of
        constant java.util.HashMap@61056459 reached by 
    reading field com.sun.jmx.mbeanserver.WeakIdentityHashMap.map of
        constant com.sun.jmx.mbeanserver.WeakIdentityHashMap@53bb4e30 reached by 
    scanning method com.sun.jmx.mbeanserver.MXBeanLookup.lookupFor(MXBeanLookup.java:93)
Call path from entry point to com.sun.jmx.mbeanserver.MXBeanLookup.lookupFor(MBeanServerConnection): 
    at com.sun.jmx.mbeanserver.MXBeanLookup.lookupFor(MXBeanLookup.java:93)
    at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:162)
    at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:258)
    at com.sun.proxy.$Proxy282.duplicate(Unknown Source)
    at com.mysql.jdbc.StatementImpl$CancelTask$1.run(StatementImpl.java:124)
    at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
    at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
    at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)

这会以不同的调用路径重复 6 次。

标签: spring-booth2graalvm-native-image

解决方案


推荐阅读