You need to change the feature files coming with the source code of project spring-boot-graal-feature. Add at initialization.json: under "runtimeInitialization": {"class": "com.hazelcast.instance.DefaultNodeExtension"}, {"class": "org.apache.logging.log4j.core.pattern.JAnsiTextRenderer"}, under "buildTimeInitialization": {"package": "org.hibernate.validator.internal.engine.messageinterpolation"}, {"package": "org.hibernate.validator.internal.engine.resolver"}, {"package": "ch.qos.logback.core.status"}, {"package": "javax.persistence"}, {"class": "org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator"}, {"class": "org.springframework.core.DecoratingProxy"}, {"class": "org.apache.logging.slf4j.SLF4JLogger"}, {"class": "ch.qos.logback.core.rolling.RollingFileAppender"}, {"class": "ch.qos.logback.core.recovery.ResilientFileOutputStream"}, {"class": "ch.qos.logback.core.Appender"}, {"class": "ch.qos.logback.core.Appender[]"}, {"class": "org.slf4j.Logger"}, {"class": "org.hibernate.validator.internal.util.logging.logger"}, {"class": "org.hibernate.validator.HibernateValidator"}, {"class": "java.io.FileDescriptor"}, {"class": "java.io.FileOutputStream"}, {"class": "java.io.ObjectInputStream"}, {"class": "java.lang.Object"}, {"class": "java.lang.Object[]"}, {"class": "java.util.ArrayList"}, Add at proxies.json: ["javax.persistence.Persistence"], Add at resources.json: under "resources": {"pattern":"META-INF/org/apache/logging/log4j/core/config/plugins/Log4j2Plugins.dat"}, {"pattern":"META-INF/services/org.apache.logging.log4j.spi.Provider"}, {"pattern":"META-INF/services/org.apache.logging.log4j.util.PropertySource"}, {"pattern":"org/slf4j/impl/StaticLoggerBinder.class"}, {"pattern":"org.hibernate.validator.spi.resourceloading.ResourceBundleLocator"}, Add at reflect.json // vvv logback { "name": "java.util.Locale", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.io.FileDescriptor", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.io.FileOutputStream", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.io.ObjectInputStream", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "javax.persistence.Persistence", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.HibernateValidator", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.ConfigurationImpl", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.util.privilegedactions.GetMethod", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.util.privilegedactions.LoadClass", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.jboss.logging.DelegatingBasicLogger", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.util.logging.Log_$logger", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.util.logging.logger", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.util.Contracts", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.classic.PatternLayout", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.ConsoleAppender", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.rolling.RollingFileAppender", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.Appender", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.recovery.ResilientFileOutputStream", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.apache.logging.slf4j.SLF4JLogger", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.jboss.logging.Log4j2Logger", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.slf4j.impl.StaticLoggerBinder", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.classic.util.ContextSelectorStaticBinder", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.status.StatusBase", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.status.InfoStatus", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.status.ErrorStatus", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.status.WarnStatus", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.core.BasicStatusManager", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.classic.LoggerContext", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "ch.qos.logback.classic.Logger", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.util.ReflectionHelper", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.valueextraction.ValueExtractorDescriptor", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.parser.MessageState", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.parser.EscapedState", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.parser.ELState", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.parser.InterpolationTermState", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.parser.TokenCollector", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.xml.config.ResourceLoaderHelper", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.InterpolationTerm", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.ParameterTermResolver", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.ElTermResolver", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.TermResolver", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.messageinterpolation.InterpolationTermType", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.AnnotatedParameterizedType", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.Constructor", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.Executable", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.Field", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.GenericArrayType", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.InvocationTargetException", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.Member", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.Method", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.ParameterizedType", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.Type", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.TypeVariable", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.lang.reflect.WildcardType", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "org.hibernate.validator.internal.engine.MessageInterpolatorContext", "allDeclaredConstructors" : true, "allPublicConstructors" : true, "allDeclaredMethods" : true, "allPublicMethods" : true, "allDeclaredFields" : true, "allPublicFields" : true }, { "name": "java.util.logging.FileHandler", "methods" : [{ "name": "", "parameterTypes": [] }] }, { "name": "ch.qos.logback.classic.pattern.DateConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.MessageConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ThrowableProxyConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.NopThrowableInformationConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ContextNameConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldYellowCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.LoggerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.ReplacingCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldBlueCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.CyanCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.RedCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.WhiteCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.PropertyConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.MethodOfCallerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.LevelConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.IdentityCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldWhiteCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.MarkerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldCyanCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldMagentaCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.RelativeTimeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.MagentaCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ClassOfCallerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.LineOfCallerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.FileOfCallerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldGreenCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.LocalSequenceNumberConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.YellowCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.color.HighlightingCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.GrayCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.MDCConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ClassOfCallerConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BoldRedCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.GreenCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.core.pattern.color.BlackCompositeConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.ThreadConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name": "ch.qos.logback.classic.pattern.LineSeparatorConverter", "allDeclaredConstructors": true, "allDeclaredMethods": true }, { "name":"org.apache.logging.log4j.core.config.json.JsonConfigurationFactory", "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.lookup.JmxRuntimeInputArgumentsLookup", "methods":[{ "name":"", "parameterTypes":[] }] }, { "name":"org.apache.logging.log4j.core.lookup.JndiLookup", "methods":[{ "name":"", "parameterTypes":[] }] }, { "name":"org.apache.logging.log4j.core.pattern.DatePatternConverter", "allDeclaredMethods":true }, { "name":"org.apache.logging.log4j.core.pattern.LevelPatternConverter", "allDeclaredMethods":true }, { "name":"org.apache.logging.log4j.core.pattern.LineSeparatorPatternConverter", "allDeclaredMethods":true }, { "name":"org.apache.logging.log4j.core.pattern.LoggerPatternConverter", "allDeclaredMethods":true }, { "name":"org.apache.logging.log4j.core.pattern.MessagePatternConverter", "allDeclaredMethods":true }, { "name":"org.apache.logging.log4j.core.pattern.ThreadNamePatternConverter", "allDeclaredMethods":true }, // ^^^ logback