FasterXML / FasterXML/jackson-modules-base
Cannot Deserialize Object with Builder when using AfterBurner and UseValueClassLoader is false
- Dominant language
- Java
- Stars
- 180
- Forks
- 80
- Avg merge
- 3h 26m
- Merged PRs (30d)
- 1
Description
# Description
When using `@JsonDeserialize(builder = ...)` along with `@JsonPojoBuilder`, deserialization fails when the Afterburner module is registered with `new ObjectMapper().registerModule(new AfterburnerModule().setUseValueClassLoader(false));`
Test cases showing the issue: https://github.com/austinarbor/jackson-afterburner-issue/blob/main/src/test/java/dev/aga/model/ContextTest.java
When `setUseValueClassLoader(true)` everything works as expected
```java
class dev.aga.model.Context$ContextBuilder$Creator4JacksonDeserializer8cf3272c tried to access method 'void dev.aga.model.Context$ContextBuilder.()' (dev.aga.model.Context$ContextBuilder$Creator4JacksonDeserializer8cf3272c is in unnamed module of loader com.fasterxml.jackson.module.afterburner.util.MyClassLoader @2f53b467; dev.aga.model.Context$ContextBuilder is in unnamed module of loader 'app')
java.lang.IllegalAccessError: class dev.aga.model.Context$ContextBuilder$Creator4JacksonDeserializer8cf3272c tried to access method 'void dev.aga.model.Context$ContextBuilder.()' (dev.aga.model.Context$ContextBuilder$Creator4JacksonDeserializer8cf3272c is in unnamed module of loader com.fasterxml.jackson.module.afterburner.util.MyClassLoader @2f53b467; dev.aga.model.Context$ContextBuilder is in unnamed module of loader 'app')
at dev.aga.model.Context$ContextBuilder$Creator4JacksonDeserializer8cf3272c.createUsingDefault(dev/aga/model/Context$ContextBuilder$Creator4JacksonDeserializer.java)
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.vanillaDeserialize(BuilderBasedDeserializer.java:285)
at com.fasterxml.jackson.databind.deser.BuilderBasedDeserializer.deserialize(BuilderBasedDeserializer.java:217)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:4309)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:4245)
at dev.aga.model.ContextTest.testDeserWithAfterburnerAndUseValueClassLoaderFalse(ContextTest.java:42)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:686)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.