Describe the bug
When use Spring Boot Native with Telegram Bots Spring library, get error of jackson
To Reproduce
Steps to reproduce the behavior:
Create a Spring Boot 2.7.7 project with Spring Native
Add telegrambots-spring-boot-starter library
Create a simple bot
Compile with bootBuildImage
Execute the image
Expected behavior
Start spring boot project with telegram bot
Actual
You get these errors:
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.telegram.telegrambots.meta.api.objects.ApiResponse` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (String)"{"ok":true,"result":true,"description":"Webhook is already deleted"}"; line: 1, column: 2]
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1904) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1349) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1415) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:352) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:185) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3629) ~[com.zred.zgitlab.ZGitlabApplicationKt:2.13.4.2]
at org.telegram.telegrambots.meta.api.methods.PartialBotApiMethod.deserializeResponseInternal(PartialBotApiMethod.java:49) ~[com.zred.zgitlab.ZGitlabApplicationKt:na]
It works fine in .jar mode, only fail in native mode.
It's not an issue with TelegramBots per se, rather it's related to native image.
You can build graalvm reachability metadata by either running your app in runtime or via tests.
For further info, see here
Describe the bug When use Spring Boot Native with Telegram Bots Spring library, get error of jackson
To Reproduce Steps to reproduce the behavior:
Expected behavior Start spring boot project with telegram bot
Actual
You get these errors:
It works fine in .jar mode, only fail in native mode.