native compilation error with version 2.17.0 of com.fasterxml.jackson.dataformat:jackson-dataformat-xml
c-schmitz-tsystems opened this issue · comments
Running Quarkus native-image plugin on MANDREL 23.1.2.0 JDK 21.0.2+13-LTS
Error: Unsupported features in 2 methods
Detailed message:
Error: Discovered unresolved method during parsing: com.fasterxml.jackson.databind.PropertyName.merge(com.fasterxml.jackson.databind.PropertyName, com.fasterxml.jackson.databind.PropertyName). This error is reported at image build time because class com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector is registered for linking at image build time by command line and command line.
Error encountered while parsing com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector.findNameForDeserialization(JacksonXmlAnnotationIntrospector.java:213)
Parsing context:
at com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair.findNameForDeserialization(AnnotationIntrospectorPair.java:768)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addSetterMethod(POJOPropertiesCollector.java:868)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addMethods(POJOPropertiesCollector.java:767)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collectAll(POJOPropertiesCollector.java:447)
at com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.getAnySetterField(POJOPropertiesCollector.java:354)
at com.fasterxml.jackson.databind.introspect.BasicBeanDescription.findAnySetterAccessor(BasicBeanDescription.java:320)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.addBeanProps(BeanDeserializerFactory.java:546)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBuilderBasedDeserializer(BeanDeserializerFactory.java:337)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBuilderBasedDeserializer(BeanDeserializerFactory.java:170)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:364)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:285)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:265)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:163)
at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:669)
at com.fasterxml.jackson.databind.ObjectReader._prefetchRootDeserializer(ObjectReader.java:2450)
at com.fasterxml.jackson.databind.ObjectReader.<init>(ObjectReader.java:194)
at com.fasterxml.jackson.databind.ObjectMapper._newReader(ObjectMapper.java:795)
at com.fasterxml.jackson.databind.ObjectMapper.reader(ObjectMapper.java:4287)
at org.jboss.resteasy.reactive.server.jackson.JacksonBasicMessageBodyReader.<init>(JacksonBasicMessageBodyReader.java:25)
at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyReader.<init>(FullyFeaturedServerJacksonMessageBodyReader.java:51)
at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyReader_Bean.doCreate(Unknown Source)
at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyReader_Bean.create(Unknown Source)
at io.quarkus.resteasy.reactive.jackson.runtime.serialisers.FullyFeaturedServerJacksonMessageBodyReader_Bean.create(Unknown Source)
at io.quarkus.arc.impl.DependentContext.get(DependentContext.java:31)
at io.quarkus.jackson.runtime.JacksonSupport_fRqO007voVblR_BoQkAFpaGPHtI_Synthetic_Bean.get(Unknown Source)
at io.quarkus.jackson.runtime.JacksonSupport_fRqO007voVblR_BoQkAFpaGPHtI_Synthetic_Bean.get(Unknown Source)
at io.quarkus.jackson.runtime.ObjectMapperProducer_ProducerMethod_objectMapper_0pJSAzCVhvpc3iOoOyAlWRwtODI_Bean.doCreate(Unknown Source)
at io.quarkus.jackson.runtime.ObjectMapperProducer_ProducerMethod_objectMapper_0pJSAzCVhvpc3iOoOyAlWRwtODI_Bean.create(Unknown Source)
at io.quarkus.jackson.runtime.ObjectMapperProducer_ProducerMethod_objectMapper_0pJSAzCVhvpc3iOoOyAlWRwtODI_Bean.create(Unknown Source)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:119)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:38)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:35)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:32)
at io.quarkus.arc.impl.ArcContainerImpl.getMatchingRemovedBeans(ArcContainerImpl.java:783)
at io.quarkus.arc.impl.ArcContainerImpl.scanRemovedBeans(ArcContainerImpl.java:797)
at io.quarkus.arc.impl.ArcContainerImpl.getBean(ArcContainerImpl.java:580)
at io.quarkus.arc.impl.ArcContainerImpl.instanceHandle(ArcContainerImpl.java:529)
at io.quarkus.arc.impl.ArcContainerImpl.instance(ArcContainerImpl.java:294)
at io.quarkus.hibernate.orm.panache.common.runtime.AbstractJpaOperations.getEntityManager(AbstractJpaOperations.java:63)
at io.quarkus.hibernate.orm.panache.common.runtime.AbstractJpaOperations.getEntityManager(AbstractJpaOperations.java:53)
at io.quarkus.hibernate.orm.panache.common.runtime.AbstractJpaOperations.persist(AbstractJpaOperations.java:107)
at io.quarkus.hibernate.orm.panache.PanacheEntityBase.persist(PanacheEntityBase.java:730)
at static root method.(Unknown Source)
This could be a version discrepancy with your set up (older version of jackson-databind
, pre-2.17)? Method referenced in exception was added in 2.17, I think. So it could be that 2.17 of jackson-dataformat-xml
was being compiled against jackson-databind
of 2.16 or earlier.
Other than that, I don't think there is anything this module can do about the issue: it would probably require your adding of reference to some type to retain for Native image.