spring boot native with hazelcast: NoSuchMethodError

59 Views Asked by At

Starting with Spring Boot 3.2.2 and Spring Cloud 2023.0.0 and native configuration src/main/resources/META-INF/native-image/reflect-config.json:

[
{"name": "com.hazelcast.map.IMap", "allDeclaredMethods": true, "allDeclaredFields": true, "allDeclaredConstructors": true}
]

I get the following exception:

2024-01-24 11:05:51.221 ERROR 591197 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.metrics.cache.CacheMetricsRegistrarConfiguration': Instantiation of supplied bean failed
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1222)
......
Caused by: java.lang.NoSuchMethodException: no such method: com.hazelcast.map.IMap.getName()String/invokeInterface
        at [email protected]/java.lang.invoke.MemberName.makeAccessException(MemberName.java:915)
        at [email protected]/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:994)
        at [email protected]/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3750)
        at [email protected]/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2767)
        at io.micrometer.core.instrument.binder.cache.HazelcastIMapAdapter.resolveIMapMethod(HazelcastIMapAdapter.java:257)
        ... 52 common frames omitted
Caused by: java.lang.NoSuchMethodError: com.hazelcast.map.IMap.getName()
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.methodhandles.Util_java_lang_invoke_MethodHandleNatives.resolve(Target_java_lang_invoke_MethodHandleNatives.java:335)
        at [email protected]/java.lang.invoke.MethodHandleNatives.resolve(MethodHandleNatives.java:213)
        at [email protected]/java.lang.invoke.MemberName$Factory.resolve(MemberName.java:962)
        at [email protected]/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:991)
        ... 55 common frames omitted

I have changed the reflect-config.json, use RuntimeHintsRegistrar, but I still get the same error.

0

There are 0 best solutions below