mike-neck / graalvm-native-image-plugin

A Gradle plugin which creates a native executable via GraalVM's native-image. This is a thin wrapper of the native-image command.
Apache License 2.0
89 stars 14 forks source link

Unrecognized field "queryAllPublicMethods" (class org.mikeneck.graalvm.config.ClassUsage) #177

Open I-Al-Istannen opened 2 years ago

I-Al-Istannen commented 2 years ago

Describe What happened

Running the generateNativeImageConfig task produces an error.

How To Reproduce

  1. Run the generateNativeImageConfig task
nativeImage {
    mainClass = "foo"
    graalVmHome = "/tmp/temp/graal-java-17"
    buildType { build ->
        build.executable(main = "foo")
    }
    executableName = "my-native-application"
    outputDirectory = file("$buildDir/executable")
    arguments(
        "--no-fallback",
        "--enable-all-security-services",
        "--report-unsupported-elements-at-runtime",
        "--allow-incomplete-classpath",
    )
}

generateNativeImageConfig {
    enabled = true
    byRunningApplication {
        jvmArguments("--enable-preview")
        arguments("foo")
    }
}

Expected behavior

A config should be generated (it is) and merging should succeed (it does not).

StackTraces or Console logs

Stacktrace ``` * What went wrong: Execution failed for task ':mergeNativeImageConfig'. > org.mikeneck.com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "queryAllPublicMethods" (class org.mikeneck.graalvm.config.ClassUsage), not marked as ignorable (11 known properties: "methods", "allPublicConstructors", "allDeclaredFields", "allDeclaredMethods", "allPublicMethods", "fields", "name", "allPublicClasses", "allPublicFields", "allDeclaredConstructors", "allDeclaredClasses"]) at [Source: (BufferedReader); line: 50, column: 31] (through reference chain: org.mikeneck.graalvm.config.ReflectConfig[15]->org.mikeneck.graalvm.config.ClassUsage["queryAllPublicMethods"]) * Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':mergeNativeImageConfig'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:188) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:186) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:402) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:389) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:382) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:368) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61) Caused by: org.gradle.api.UncheckedIOException: org.mikeneck.com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "queryAllPublicMethods" (class org.mikeneck.graalvm.config.ClassUsage), not marked as ignorable (11 known properties: "methods", "allPublicConstructors", "allDeclaredFields", "allDeclaredMethods", "allPublicMethods", "fields", "name", "allPublicClasses", "allPublicFields", "allDeclaredConstructors", "allDeclaredClasses"]) at [Source: (BufferedReader); line: 50, column: 31] (through reference chain: org.mikeneck.graalvm.config.ReflectConfig[15]->org.mikeneck.graalvm.config.ClassUsage["queryAllPublicMethods"]) at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:62) at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:107) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:502) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:74) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:74) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:487) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:470) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:106) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:249) at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89) at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53) at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50) at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68) at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:50) at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36) at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41) at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74) at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51) at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29) at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58) at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:39) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:60) at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:27) at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:180) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:75) at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:46) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:40) at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:29) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36) at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22) at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:105) at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:98) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53) at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:37) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:85) at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:42) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:92) at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114) at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:73) at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:47) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:92) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:92) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:33) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:43) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:31) at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$2.withWorkspace(ExecuteActionsTaskExecuter.java:284) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33) at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:402) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:389) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:382) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:368) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:61) Caused by: org.mikeneck.com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "queryAllPublicMethods" (class org.mikeneck.graalvm.config.ClassUsage), not marked as ignorable (11 known properties: "methods", "allPublicConstructors", "allDeclaredFields", "allDeclaredMethods", "allPublicMethods", "fields", "name", "allPublicClasses", "allPublicFields", "allDeclaredConstructors", "allDeclaredClasses"]) at [Source: (BufferedReader); line: 50, column: 31] (through reference chain: org.mikeneck.graalvm.config.ReflectConfig[15]->org.mikeneck.graalvm.config.ClassUsage["queryAllPublicMethods"]) at org.mikeneck.com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61) at org.mikeneck.com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:855) at org.mikeneck.com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1212) at org.mikeneck.com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1604) at org.mikeneck.com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1582) at org.mikeneck.com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:299) at org.mikeneck.com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156) at org.mikeneck.com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) at org.mikeneck.com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) at org.mikeneck.com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) at org.mikeneck.com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4524) at org.mikeneck.com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3479) at org.mikeneck.graalvm.config.task.DefaultMergeConfigFileWork.readAllFromInputFiles(DefaultMergeConfigFileWork.java:67) at org.mikeneck.graalvm.config.task.DefaultMergeConfigFileWork.run(DefaultMergeConfigFileWork.java:52) at org.mikeneck.graalvm.DefaultMergeNativeImageConfigTask.merge(DefaultMergeNativeImageConfigTask.java:72) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104) ... 118 more ```

Environment

Additional context

Reflect config ```json [ { "name":"[B"} , { "name":"[C"} , { "name":"[D"} , { "name":"[F"} , { "name":"[I"} , { "name":"[J"} , { "name":"[Ljava.lang.String;"} , { "name":"[Ljavax.management.openmbean.CompositeData;"} , { "name":"[Lorg.apache.logging.log4j.core.Appender;"} , { "name":"[Lorg.apache.logging.log4j.core.config.AppenderRef;"} , { "name":"[Lorg.apache.logging.log4j.core.config.LoggerConfig;"} , { "name":"[Lorg.apache.logging.log4j.core.config.Property;"} , { "name":"[S"} , { "name":"[Z"} , { "name":"com.djdch.log4j.StaticShutdownCallbackRegistry", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"com.sun.management.GarbageCollectorMXBean", "queryAllPublicMethods":true} , { "name":"com.sun.management.GcInfo", "queryAllPublicMethods":true} , { "name":"com.sun.management.HotSpotDiagnosticMXBean", "queryAllPublicMethods":true} , { "name":"com.sun.management.ThreadMXBean", "queryAllPublicMethods":true} , { "name":"com.sun.management.UnixOperatingSystemMXBean", "queryAllPublicMethods":true} , { "name":"com.sun.management.VMOption", "queryAllPublicMethods":true} , { "name":"com.sun.management.internal.GarbageCollectorExtImpl", "queryAllPublicConstructors":true} , { "name":"com.sun.management.internal.HotSpotDiagnostic", "queryAllPublicConstructors":true} , { "name":"com.sun.management.internal.HotSpotThreadImpl", "queryAllPublicConstructors":true} , { "name":"com.sun.management.internal.OperatingSystemImpl", "queryAllPublicConstructors":true} , { "name":"com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"java.io.ObjectInputStream", "queryAllPublicMethods":true} , { "name":"java.lang.Boolean", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Byte", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Character", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Deprecated", "queryAllPublicMethods":true} , { "name":"java.lang.Double", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Float", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Integer", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Long", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.Object", "allDeclaredFields":true} , { "name":"java.lang.Short", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.StackTraceElement", "queryAllPublicMethods":true} , { "name":"java.lang.String"} , { "name":"java.lang.Void", "fields":[{"name":"TYPE"}]} , { "name":"java.lang.management.BufferPoolMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.ClassLoadingMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.CompilationMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.LockInfo", "queryAllPublicMethods":true} , { "name":"java.lang.management.ManagementPermission", "methods":[{"name":"","parameterTypes":["java.lang.String"] }]} , { "name":"java.lang.management.MemoryMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.MemoryManagerMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.MemoryPoolMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.MemoryUsage", "queryAllPublicMethods":true} , { "name":"java.lang.management.MonitorInfo", "queryAllPublicMethods":true} , { "name":"java.lang.management.PlatformLoggingMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.RuntimeMXBean", "queryAllPublicMethods":true} , { "name":"java.lang.management.ThreadInfo", "queryAllPublicMethods":true} , { "name":"java.math.BigDecimal"} , { "name":"java.math.BigInteger"} , { "name":"java.util.Date"} , { "name":"java.util.PropertyPermission", "methods":[{"name":"","parameterTypes":["java.lang.String","java.lang.String"] }]} , { "name":"java.util.logging.LogManager", "methods":[{"name":"getLoggingMXBean","parameterTypes":[] }]} , { "name":"java.util.logging.LoggingMXBean", "queryAllPublicMethods":true} , { "name":"javax.management.MBeanOperationInfo", "queryAllPublicMethods":true} , { "name":"javax.management.MBeanServerBuilder", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"javax.management.NotificationBroadcasterSupport", "queriedMethods":[{"name":"getNotificationInfo","parameterTypes":[] }]} , { "name":"javax.management.ObjectName"} , { "name":"javax.management.openmbean.CompositeData"} , { "name":"javax.management.openmbean.OpenMBeanOperationInfoSupport"} , { "name":"javax.management.openmbean.TabularData"} , { "name":"jdk.management.jfr.ConfigurationInfo", "queryAllPublicMethods":true} , { "name":"jdk.management.jfr.EventTypeInfo", "queryAllPublicMethods":true} , { "name":"jdk.management.jfr.FlightRecorderMXBean", "queryAllPublicMethods":true} , { "name":"jdk.management.jfr.FlightRecorderMXBeanImpl", "queryAllPublicConstructors":true} , { "name":"jdk.management.jfr.RecordingInfo", "queryAllPublicMethods":true} , { "name":"jdk.management.jfr.SettingDescriptorInfo", "queryAllPublicMethods":true} , { "name":"org.apache.logging.log4j.core.appender.AbstractAppender$Builder", "allDeclaredFields":true} , { "name":"org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender$Builder", "allDeclaredFields":true} , { "name":"org.apache.logging.log4j.core.appender.AppenderSet"} , { "name":"org.apache.logging.log4j.core.appender.AsyncAppender"} , { "name":"org.apache.logging.log4j.core.appender.ConsoleAppender", "queryAllDeclaredMethods":true, "methods":[{"name":"newBuilder","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.appender.ConsoleAppender$Builder", "allDeclaredFields":true} , { "name":"org.apache.logging.log4j.core.appender.CountingNoOpAppender"} , { "name":"org.apache.logging.log4j.core.appender.FailoverAppender"} , { "name":"org.apache.logging.log4j.core.appender.FailoversPlugin"} , { "name":"org.apache.logging.log4j.core.appender.FileAppender"} , { "name":"org.apache.logging.log4j.core.appender.HttpAppender"} , { "name":"org.apache.logging.log4j.core.appender.MemoryMappedFileAppender"} , { "name":"org.apache.logging.log4j.core.appender.NullAppender"} , { "name":"org.apache.logging.log4j.core.appender.OutputStreamAppender"} , { "name":"org.apache.logging.log4j.core.appender.RandomAccessFileAppender"} , { "name":"org.apache.logging.log4j.core.appender.RollingFileAppender"} , { "name":"org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender"} , { "name":"org.apache.logging.log4j.core.appender.ScriptAppenderSelector"} , { "name":"org.apache.logging.log4j.core.appender.SmtpAppender"} , { "name":"org.apache.logging.log4j.core.appender.SocketAppender"} , { "name":"org.apache.logging.log4j.core.appender.SyslogAppender"} , { "name":"org.apache.logging.log4j.core.appender.WriterAppender"} , { "name":"org.apache.logging.log4j.core.appender.db.ColumnMapping"} , { "name":"org.apache.logging.log4j.core.appender.db.jdbc.ColumnConfig"} , { "name":"org.apache.logging.log4j.core.appender.db.jdbc.DataSourceConnectionSource"} , { "name":"org.apache.logging.log4j.core.appender.db.jdbc.DriverManagerConnectionSource"} , { "name":"org.apache.logging.log4j.core.appender.db.jdbc.FactoryMethodConnectionSource"} , { "name":"org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender"} , { "name":"org.apache.logging.log4j.core.appender.mom.JmsAppender"} , { "name":"org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender"} , { "name":"org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender"} , { "name":"org.apache.logging.log4j.core.appender.nosql.NoSqlAppender"} , { "name":"org.apache.logging.log4j.core.appender.rewrite.LoggerNameLevelRewritePolicy"} , { "name":"org.apache.logging.log4j.core.appender.rewrite.MapRewritePolicy"} , { "name":"org.apache.logging.log4j.core.appender.rewrite.PropertiesRewritePolicy"} , { "name":"org.apache.logging.log4j.core.appender.rewrite.RewriteAppender"} , { "name":"org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.CronTriggeringPolicy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.NoOpTriggeringPolicy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.DeleteAction"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileCount"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfAccumulatedFileSize"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfAll"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfAny"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfFileName"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfLastModified"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.IfNot"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.PathSortByModificationTime"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.PosixViewAttributeAction"} , { "name":"org.apache.logging.log4j.core.appender.rolling.action.ScriptCondition"} , { "name":"org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy"} , { "name":"org.apache.logging.log4j.core.appender.routing.Route"} , { "name":"org.apache.logging.log4j.core.appender.routing.Routes"} , { "name":"org.apache.logging.log4j.core.appender.routing.RoutingAppender"} , { "name":"org.apache.logging.log4j.core.async.ArrayBlockingQueueFactory"} , { "name":"org.apache.logging.log4j.core.async.AsyncLoggerConfig"} , { "name":"org.apache.logging.log4j.core.async.AsyncLoggerConfig$RootLogger"} , { "name":"org.apache.logging.log4j.core.async.DisruptorBlockingQueueFactory"} , { "name":"org.apache.logging.log4j.core.async.JCToolsBlockingQueueFactory"} , { "name":"org.apache.logging.log4j.core.async.LinkedTransferQueueFactory"} , { "name":"org.apache.logging.log4j.core.config.AppenderRef", "queryAllDeclaredMethods":true, "methods":[{"name":"createAppenderRef","parameterTypes":["java.lang.String","org.apache.logging.log4j.Level","org.apache.logging.log4j.core.Filter"] }]} , { "name":"org.apache.logging.log4j.core.config.AppendersPlugin", "queryAllDeclaredMethods":true, "methods":[{"name":"createAppenders","parameterTypes":["org.apache.logging.log4j.core.Appender[]"] }]} , { "name":"org.apache.logging.log4j.core.config.CustomLevelConfig"} , { "name":"org.apache.logging.log4j.core.config.CustomLevels"} , { "name":"org.apache.logging.log4j.core.config.DefaultAdvertiser"} , { "name":"org.apache.logging.log4j.core.config.HttpWatcher"} , { "name":"org.apache.logging.log4j.core.config.LoggerConfig"} , { "name":"org.apache.logging.log4j.core.config.LoggerConfig$RootLogger", "queryAllDeclaredMethods":true, "methods":[{"name":"createLogger","parameterTypes":["java.lang.String","org.apache.logging.log4j.Level","java.lang.String","org.apache.logging.log4j.core.config.AppenderRef[]","org.apache.logging.log4j.core.config.Property[]","org.apache.logging.log4j.core.config.Configuration","org.apache.logging.log4j.core.Filter"] }]} , { "name":"org.apache.logging.log4j.core.config.LoggersPlugin", "queryAllDeclaredMethods":true, "methods":[{"name":"createLoggers","parameterTypes":["org.apache.logging.log4j.core.config.LoggerConfig[]"] }]} , { "name":"org.apache.logging.log4j.core.config.PropertiesPlugin"} , { "name":"org.apache.logging.log4j.core.config.Property"} , { "name":"org.apache.logging.log4j.core.config.ScriptsPlugin"} , { "name":"org.apache.logging.log4j.core.config.json.JsonConfigurationFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$BigDecimalConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$BigIntegerConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$BooleanConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$ByteArrayConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$ByteConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$CharArrayConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$CharacterConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$CharsetConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$ClassConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$CronExpressionConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$DoubleConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$DurationConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$FileConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$FloatConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$InetAddressConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$IntegerConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$LevelConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$LongConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$PathConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$PatternConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$SecurityProviderConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$ShortConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$StringConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$UriConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$UrlConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.convert.TypeConverters$UuidConverter", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.validation.validators.RequiredValidator", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.visitors.PluginAttributeVisitor", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.visitors.PluginBuilderAttributeVisitor", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.visitors.PluginConfigurationVisitor", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.filter.AbstractFilterable$Builder", "allDeclaredFields":true} , { "name":"org.apache.logging.log4j.core.filter.BurstFilter"} , { "name":"org.apache.logging.log4j.core.filter.CompositeFilter"} , { "name":"org.apache.logging.log4j.core.filter.DenyAllFilter"} , { "name":"org.apache.logging.log4j.core.filter.DynamicThresholdFilter"} , { "name":"org.apache.logging.log4j.core.filter.LevelMatchFilter"} , { "name":"org.apache.logging.log4j.core.filter.LevelRangeFilter"} , { "name":"org.apache.logging.log4j.core.filter.MapFilter"} , { "name":"org.apache.logging.log4j.core.filter.MarkerFilter"} , { "name":"org.apache.logging.log4j.core.filter.NoMarkerFilter"} , { "name":"org.apache.logging.log4j.core.filter.RegexFilter"} , { "name":"org.apache.logging.log4j.core.filter.ScriptFilter"} , { "name":"org.apache.logging.log4j.core.filter.StringMatchFilter"} , { "name":"org.apache.logging.log4j.core.filter.StructuredDataFilter"} , { "name":"org.apache.logging.log4j.core.filter.ThreadContextMapFilter"} , { "name":"org.apache.logging.log4j.core.filter.ThresholdFilter"} , { "name":"org.apache.logging.log4j.core.filter.TimeFilter"} , { "name":"org.apache.logging.log4j.core.impl.Log4jContextFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.jmx.AppenderAdmin", "queryAllPublicConstructors":true} , { "name":"org.apache.logging.log4j.core.jmx.AppenderAdminMBean", "queryAllPublicMethods":true} , { "name":"org.apache.logging.log4j.core.jmx.ContextSelectorAdmin", "queryAllPublicConstructors":true} , { "name":"org.apache.logging.log4j.core.jmx.ContextSelectorAdminMBean", "queryAllPublicMethods":true} , { "name":"org.apache.logging.log4j.core.jmx.LoggerConfigAdmin", "queryAllPublicConstructors":true} , { "name":"org.apache.logging.log4j.core.jmx.LoggerConfigAdminMBean", "queryAllPublicMethods":true} , { "name":"org.apache.logging.log4j.core.jmx.LoggerContextAdmin", "queryAllPublicConstructors":true} , { "name":"org.apache.logging.log4j.core.jmx.LoggerContextAdminMBean", "queryAllPublicMethods":true} , { "name":"org.apache.logging.log4j.core.jmx.StatusLoggerAdmin", "queryAllPublicConstructors":true} , { "name":"org.apache.logging.log4j.core.jmx.StatusLoggerAdminMBean", "queryAllPublicMethods":true} , { "name":"org.apache.logging.log4j.core.layout.CsvLogEventLayout"} , { "name":"org.apache.logging.log4j.core.layout.CsvParameterLayout"} , { "name":"org.apache.logging.log4j.core.layout.GelfLayout"} , { "name":"org.apache.logging.log4j.core.layout.HtmlLayout"} , { "name":"org.apache.logging.log4j.core.layout.JsonLayout"} , { "name":"org.apache.logging.log4j.core.layout.LevelPatternSelector"} , { "name":"org.apache.logging.log4j.core.layout.LoggerFields"} , { "name":"org.apache.logging.log4j.core.layout.MarkerPatternSelector"} , { "name":"org.apache.logging.log4j.core.layout.MessageLayout"} , { "name":"org.apache.logging.log4j.core.layout.PatternLayout", "queryAllDeclaredMethods":true, "methods":[{"name":"newBuilder","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.layout.PatternLayout$Builder", "allDeclaredFields":true} , { "name":"org.apache.logging.log4j.core.layout.PatternMatch"} , { "name":"org.apache.logging.log4j.core.layout.Rfc5424Layout"} , { "name":"org.apache.logging.log4j.core.layout.ScriptPatternSelector"} , { "name":"org.apache.logging.log4j.core.layout.SerializedLayout"} , { "name":"org.apache.logging.log4j.core.layout.SyslogLayout"} , { "name":"org.apache.logging.log4j.core.layout.XmlLayout"} , { "name":"org.apache.logging.log4j.core.layout.YamlLayout"} , { "name":"org.apache.logging.log4j.core.lookup.ContextMapLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.DateLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.EnvironmentLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.EventLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.JavaLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.JmxRuntimeInputArgumentsLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.JndiLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.Log4jLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.LowerLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.MainMapLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.MapLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.MarkerLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.ResourceBundleLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.StructuredDataLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.SystemPropertiesLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.lookup.UpperLookup", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.core.net.MulticastDnsAdvertiser"} , { "name":"org.apache.logging.log4j.core.net.SocketAddress"} , { "name":"org.apache.logging.log4j.core.net.SocketOptions"} , { "name":"org.apache.logging.log4j.core.net.SocketPerformancePreferences"} , { "name":"org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration"} , { "name":"org.apache.logging.log4j.core.net.ssl.SslConfiguration"} , { "name":"org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Black"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Blue"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Cyan"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Green"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Magenta"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Red"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$White"} , { "name":"org.apache.logging.log4j.core.pattern.AbstractStyleNameConverter$Yellow"} , { "name":"org.apache.logging.log4j.core.pattern.ClassNamePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.DatePatternConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.EncodingPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.EndOfBatchPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.EqualsIgnoreCaseReplacementConverter"} , { "name":"org.apache.logging.log4j.core.pattern.EqualsReplacementConverter"} , { "name":"org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.FileDatePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.FileLocationPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.FullLocationPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.HighlightConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["org.apache.logging.log4j.core.config.Configuration","java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.IntegerPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.LevelPatternConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.LineLocationPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.LoggerFqcnPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.LoggerPatternConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.MapPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.MarkerPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.MarkerSimpleNamePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.MaxLengthConverter"} , { "name":"org.apache.logging.log4j.core.pattern.MdcPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.MessagePatternConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["org.apache.logging.log4j.core.config.Configuration","java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.MethodLocationPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.NanoTimePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.NdcPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.ProcessIdPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.RegexReplacement"} , { "name":"org.apache.logging.log4j.core.pattern.RegexReplacementConverter"} , { "name":"org.apache.logging.log4j.core.pattern.RelativeTimePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.RootThrowablePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.SequenceNumberPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.StyleConverter"} , { "name":"org.apache.logging.log4j.core.pattern.ThreadIdPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter", "queryAllDeclaredMethods":true, "methods":[{"name":"newInstance","parameterTypes":["java.lang.String[]"] }]} , { "name":"org.apache.logging.log4j.core.pattern.ThreadPriorityPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.ThrowablePatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.UuidPatternConverter"} , { "name":"org.apache.logging.log4j.core.pattern.VariablesNotEmptyReplacementConverter"} , { "name":"org.apache.logging.log4j.core.script.Script"} , { "name":"org.apache.logging.log4j.core.script.ScriptFile"} , { "name":"org.apache.logging.log4j.core.script.ScriptRef"} , { "name":"org.apache.logging.log4j.core.util.ExecutorServices"} , { "name":"org.apache.logging.log4j.core.util.KeyValuePair"} , { "name":"org.apache.logging.log4j.message.DefaultFlowMessageFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.message.ReusableMessageFactory", "methods":[{"name":"","parameterTypes":[] }]} , { "name":"org.apache.logging.log4j.util.internal.DefaultObjectInputFilter", "queryAllPublicMethods":true} , { "name":"sun.management.ClassLoadingImpl", "queryAllPublicConstructors":true} , { "name":"sun.management.CompilationImpl", "queryAllPublicConstructors":true} , { "name":"sun.management.ManagementFactoryHelper$1", "queryAllPublicConstructors":true} , { "name":"sun.management.ManagementFactoryHelper$PlatformLoggingImpl", "queryAllPublicConstructors":true} , { "name":"sun.management.MemoryImpl", "queryAllPublicConstructors":true} , { "name":"sun.management.MemoryManagerImpl", "queryAllPublicConstructors":true} , { "name":"sun.management.MemoryPoolImpl", "queryAllPublicConstructors":true} , { "name":"sun.management.RuntimeImpl", "queryAllPublicConstructors":true} ] ```
anentropic commented 1 year ago

I'm coming back to a two year old Java project of mine

I have a new laptop since last time I worked on it, and slightly newer Graal (22.3.0) and gradle (7.6) versions

When I try to build my project via gradle nativeImage I now get:

Execution failed for task ':app:mergeNativeImageConfig'. > org.mikeneck.com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "queryAllDeclaredMethods" (class org.mikeneck.graalvm.config.ClassUsage), not marked as ignorable (11 known properties: "methods", "allPublicConstructors", "allDeclaredFields", "allDeclaredMethods", "allPublicMethods", "fields", "name", "allPublicClasses", "allPublicFields", "allDeclaredConstructors", "allDeclaredClasses"]) at [Source: (BufferedReader); line: 5, column: 33] (through reference chain: org.mikeneck.graalvm.config.ReflectConfig[0]->org.mikeneck.graalvm.config.ClassUsage["queryAllDeclaredMethods"])

It sounds similar to this issue

Can anyone give any pointers to how to fix it - is it something I can work around?

anentropic commented 1 year ago

I noticed something I could try

I saw this in my build.gradle:

id 'org.mikeneck.graalvm-native-image' version 'v1.3.0'

after updating that to v1.4.1 I still get the same error though

anentropic commented 1 year ago

I have:

$ brew info graalvm/tap/graalvm-ce-java11
==> graalvm-ce-java11: 22.3.0
https://www.graalvm.org/
/opt/homebrew/Caskroom/graalvm-ce-java11/22.3.0 (154B)
From: https://github.com/graalvm/homebrew-tap/blob/HEAD/Casks/graalvm-ce-java11.rb
==> Name
GraalVM Community Edition (Java 11)

and

$ $GRAALHOME/bin/native-image --version
GraalVM 22.3.0 Java 11 CE (Java Version 11.0.17+8-jvmci-22.3-b08)
anentropic commented 1 year ago

ah, just seen https://github.com/mike-neck/graalvm-native-image-plugin/pull/182 and https://github.com/mike-neck/graalvm-native-image-plugin/pull/185

I guess I need to downgrade my graalvm vesion to be able to build in the meantime