Graal: Micronaut app native image generation fails with NoClassDefFoundError: Lorg/apache/logging/log4j/spi/LoggerContext;

Created on 12 Dec 2019  路  6Comments  路  Source: oracle/graal

Steps to reproduce.

Clone micronaut-guides/micronaut-data-access-jpa-hibernate repository and checkout graalvm branch branch.

$ sdk use java 19.3.0.r8-grl 
$ ./gradlew clean :complete:assemble
$ % native-image --no-server -cp build/libs/complete-0.1-all.jar
[micronautguide:41646]    classlist:   8,984.31 ms
[micronautguide:41646]        (cap):   2,011.06 ms
[micronautguide:41646]        setup:   3,022.24 ms
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider com.oracle.truffle.js.scriptengine.GraalJSEngineFactory could not be instantiated
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider com.oracle.truffle.js.scriptengine.GraalJSEngineFactory could not be instantiated
[micronautguide:41646]   (typeflow):  26,810.31 ms
[micronautguide:41646]    (objects):  41,522.68 ms
[micronautguide:41646]   (features):   3,182.03 ms
[micronautguide:41646]     analysis:  76,773.19 ms
[micronautguide:41646]     (clinit):   2,761.01 ms
[micronautguide:41646]     universe:   4,791.47 ms
Fatal error: java.lang.NoClassDefFoundError
    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.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598)
    at java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005)
    at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:462)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:315)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:454)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:115)
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/logging/log4j/spi/LoggerContext;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
    at java.lang.Class.getDeclaredField(Class.java:2068)
    at com.oracle.graal.pointsto.infrastructure.OriginalFieldProvider.getJavaField(OriginalFieldProvider.java:43)
    at com.oracle.graal.pointsto.meta.AnalysisField.getJavaField(AnalysisField.java:420)
    at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readUninitializedStaticValue(AnalysisConstantReflectionProvider.java:136)
    at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readValue(AnalysisConstantReflectionProvider.java:87)
    at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readFieldValue(AnalysisConstantReflectionProvider.java:77)
    at com.oracle.svm.hosted.meta.HostedField.readValue(HostedField.java:156)
    at com.oracle.svm.hosted.thread.VMThreadLocalCollector.sortThreadLocals(VMThreadLocalCollector.java:110)
    at com.oracle.svm.hosted.thread.VMThreadMTFeature.beforeCompilation(VMThreadMTFeature.java:267)
    at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$2(NativeImageGenerator.java:570)
    at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:63)
    at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:570)
    at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:445)
    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)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.spi.LoggerContext
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 20 more

Notes:

I generated a src/main/graal/reflect.json with h2 entries obtained with the tracing agent.

I initialized org.h2.Driver at build time to get rid of

$ native-image --no-server -cp build/libs/complete-0.1-all.jar
[micronautguide:19479]    classlist:   9,201.94 ms
[micronautguide:19479]        (cap):   1,934.47 ms
[micronautguide:19479]        setup:   2,968.63 ms
[micronautguide:19479]     analysis:  32,824.55 ms
Error: Classes that should be initialized at run time got initialized during image building:
 org.h2.Driver was unintentionally initialized at build time. To see why org.h2.Driver got initialized use -H:+TraceClassInitialization
org.springframework.jdbc.datasource.ConnectionProxy was unintentionally initialized at build time. To see why org.springframework.jdbc.datasource.ConnectionProxy got initialized use -H:+TraceClassInitialization
Error: Use -H:+ReportExceptionStackTraces to

I initialized org.springframework.jdbc.datasource.ConnectionProxy at build time to get rid of

% native-image --no-server -cp build/libs/complete-0.1-all.jar
[micronautguide:41050]    classlist:   8,726.02 ms
[micronautguide:41050]        (cap):   2,046.28 ms
[micronautguide:41050]        setup:   3,040.42 ms
[micronautguide:41050]     analysis:  34,659.05 ms
Error: Classes that should be initialized at run time got initialized during image building:
 org.springframework.jdbc.datasource.ConnectionProxy was unintentionally initialized at build time. To see why org.springframework.jdbc.datasource.ConnectionProxy got initialized use -H:+TraceClassInitialization

Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception
Error: Image build request failed with exit status 1

My native-image.properties files look like:

src/main/resources/META-INF/native-image/example.micronaut/micronautguide/native-image.properties

Args = -H:IncludeResources=logback.xml|application.yml \
       -H:Name=micronautguide \
       -H:Class=example.micronaut.Application \
       --initialize-at-build-time=org.h2.Driver,org.springframework.jdbc.datasource.ConnectionProxy

I tried adding --allow-incomplete-classpath

--allow-incomplete-classpath allows image building with an incomplete class path and reports type resolution errors at run time when they are accessed the first time, instead of during image building

but same error happens.

Any idea what can I do?

bug native-image

All 6 comments

I have a fix for this. We just need to discuss if it is the right one. Will put it up soon.

We did an overhaul of class initialization and tracing of why classes got initialized. This issue should be fixed if you try out the latest version of the GraalVM dev build.

I am having the same issue:

[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB] Fatal error:java.lang.NoClassDefFoundError
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:603)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1006)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:483)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:350)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:509)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:115)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:541)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB] Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Priority
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at jdk.internal.vm.ci/jdk.vm.ci.hotspot.CompilerToVM.getDeclaredMethods(Native Method)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotResolvedObjectTypeImpl.getDeclaredMethods(HotSpotResolvedObjectTypeImpl.java:987)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.jni.access.JNIAccessibleMethod.anyMatchIgnoreReturnType(JNIAccessibleMethod.java:139)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.jni.access.JNIAccessibleMember.findHidingSubclasses(JNIAccessibleMember.java:103)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.jni.access.JNIAccessibleMember.findHidingSubclasses(JNIAccessibleMember.java:110)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.jni.access.JNIAccessibleMember.setHidingSubclasses(JNIAccessibleMember.java:83)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.jni.access.JNIAccessibleMethod.finishBeforeCompilation(JNIAccessibleMethod.java:135)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.jni.access.JNIAccessFeature.beforeCompilation(JNIAccessFeature.java:350)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$2(NativeImageGenerator.java:614)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:70)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:614)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:471)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB] Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Priority
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
[Thu Oct 29 16:12:19 AKDT 2020][INFO] [SUB]     ... 18 more

Tested using several different dev builds, Currently using: 21.0.0-dev-20201029_0221

The correct command to build the image with 21.0-dev is:

native-image --initialize-at-build-time=java.sql.DriverManager --initialize-at-build-time=jdk.xml.internal.SecuritySupport  --initialize-at-build-time=com.sun.org.apache.xerces --initialize-at-build-time=com.sun.xml.internal.stream.util.ThreadLocalBufferAllocator --initialize-at-build-time=jdk.xml.internal.JdkXmlUtils -jar complete/build/libs/complete-0.1-all.jar

Now it seems to fail with a configuration issue:

$ ./micronautguide
13:14:42.149 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
13:14:42.172 [main] ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization.
org.h2.jdbc.JdbcSQLSyntaxErrorException: (Message 90086 not found) [90086-199]
    at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:198)
    at org.h2.engine.Database.getTableEngine(Database.java:3172)
    at org.h2.schema.Schema.createTable(Schema.java:706)
    at org.h2.engine.Database.open(Database.java:824)
    at org.h2.engine.Database.openDatabase(Database.java:319)
    at org.h2.engine.Database.<init>(Database.java:313)
    at org.h2.engine.Engine.openSession(Engine.java:69)
    at org.h2.engine.Engine.openSession(Engine.java:201)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:178)
    at org.h2.engine.Engine.createSession(Engine.java:161)
    at org.h2.engine.Engine.createSession(Engine.java:31)
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:336)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:169)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:148)
    at org.h2.Driver.connect(Driver.java:69)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:353)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:562)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
    at io.micronaut.configuration.jdbc.hikari.HikariUrlDataSource.<init>(HikariUrlDataSource.java:36)
    at io.micronaut.configuration.jdbc.hikari.DatasourceFactory.dataSource(DatasourceFactory.java:67)
    at io.micronaut.configuration.jdbc.hikari.$DatasourceFactory$DataSource0Definition.build(Unknown Source)
    at io.micronaut.context.BeanDefinitionDelegate.build(BeanDefinitionDelegate.java:113)
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1598)
    at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2307)
    at io.micronaut.context.DefaultBeanContext.loadContextScopeBean(DefaultBeanContext.java:1888)
    at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1262)
    at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:236)
    at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:2446)
    at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:200)
    at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:187)
    at io.micronaut.runtime.Micronaut.start(Micronaut.java:69)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:307)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:293)
    at example.micronaut.Application.main(Application.java:8)
Caused by: java.lang.ClassNotFoundException: org.h2.mvstore.db.MVTableEngine
    at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
    at java.lang.Class.forName(DynamicHub.java:1274)
    at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:191)
    ... 37 common frames omitted
13:14:42.173 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Bean definition [javax.sql.DataSource] could not be loaded: Error instantiating bean of type [javax.sql.DataSource]: Failed to initialize pool: (Message 90086 not found) [90086-199]
io.micronaut.context.exceptions.BeanInstantiationException: Bean definition [javax.sql.DataSource] could not be loaded: Error instantiating bean of type [javax.sql.DataSource]: Failed to initialize pool: (Message 90086 not found) [90086-199]
    at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1264)
    at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:236)
    at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:2446)
    at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:200)
    at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:187)
    at io.micronaut.runtime.Micronaut.start(Micronaut.java:69)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:307)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:293)
    at example.micronaut.Application.main(Application.java:8)
Caused by: io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [javax.sql.DataSource]: Failed to initialize pool: (Message 90086 not found) [90086-199]
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1626)
    at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2307)
    at io.micronaut.context.DefaultBeanContext.loadContextScopeBean(DefaultBeanContext.java:1888)
    at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1262)
    ... 8 common frames omitted
Caused by: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: (Message 90086 not found) [90086-199]
    at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:597)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:576)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
    at io.micronaut.configuration.jdbc.hikari.HikariUrlDataSource.<init>(HikariUrlDataSource.java:36)
    at io.micronaut.configuration.jdbc.hikari.DatasourceFactory.dataSource(DatasourceFactory.java:67)
    at io.micronaut.configuration.jdbc.hikari.$DatasourceFactory$DataSource0Definition.build(Unknown Source)
    at io.micronaut.context.BeanDefinitionDelegate.build(BeanDefinitionDelegate.java:113)
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1598)
    ... 11 common frames omitted
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: (Message 90086 not found) [90086-199]
    at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:198)
    at org.h2.engine.Database.getTableEngine(Database.java:3172)
    at org.h2.schema.Schema.createTable(Schema.java:706)
    at org.h2.engine.Database.open(Database.java:824)
    at org.h2.engine.Database.openDatabase(Database.java:319)
    at org.h2.engine.Database.<init>(Database.java:313)
    at org.h2.engine.Engine.openSession(Engine.java:69)
    at org.h2.engine.Engine.openSession(Engine.java:201)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:178)
    at org.h2.engine.Engine.createSession(Engine.java:161)
    at org.h2.engine.Engine.createSession(Engine.java:31)
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:336)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:169)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:148)
    at org.h2.Driver.connect(Driver.java:69)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:353)
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201)
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:473)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:562)
    ... 18 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.h2.mvstore.db.MVTableEngine
    at com.oracle.svm.core.hub.ClassForNameSupport.forName(ClassForNameSupport.java:60)
    at java.lang.Class.forName(DynamicHub.java:1274)
    at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:191)
    ... 37 common frames omitted

I got inspired by this issue and opened a master thesis project: https://github.com/oracle/graal/issues/2999

$ java -agentlib:native-image-agent=config-output-dir=/tmp/mng  -jar complete/build/libs/complete-0.1-all.jar

$ native-image --initialize-at-build-time=java.sql.DriverManager --initialize-at-build-time=jdk.xml.internal.SecuritySupport  --initialize-at-build-time=com.sun.org.apache.xerces --initialize-at-build-time=com.sun.xml.internal.stream.util.ThreadLocalBufferAllocator --initialize-at-build-time=jdk.xml.internal.JdkXmlUtils --initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Super\$Instantiation\$1 --initialize-at-build-time=net.bytebuddy.implementation.bind.annotation.Super\$Instantiation -H:ConfigurationFileDirectories=/tmp/mng --no-fallback --report-unsupported-elements-at-runtime -jar complete/build/libs/complete-0.1-all.jar
$ ./micronautguide
13:51:32.850 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
13:51:32.868 [main] INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
13:51:32.884 [main] INFO  io.micronaut.runtime.Micronaut - Startup completed in 95ms. Server Running: http://localhost:8080

And it works, as I mentioned above.

Was this page helpful?
0 / 5 - 0 ratings