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
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?
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.