You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
io.micronaut.core.beans.exceptions.IntrospectionException: Error loading BeanIntrospection for type [class com.example.ExternalPerson]: tried to access class com.example.$ExternalPerson$Introspection from class example.micronaut.$ExternalPersonConfig$IntrospectionRef0
at io.micronaut.core.beans.DefaultBeanIntrospector.findIntrospection(DefaultBeanIntrospector.java:81)
at io.micronaut.jackson.modules.BeanIntrospectionModule$BeanIntrospectionDeserializerModifier.updateBuilder(BeanIntrospectionModule.java:234)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:238)
at com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:137)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:411)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
at com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:477)
at com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:4191)
at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3980)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2277)
at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:2759)
at io.micronaut.jackson.convert.JsonNodeToObjectConverter.convert(JsonNodeToObjectConverter.java:64)
at io.micronaut.jackson.convert.JsonNodeToObjectConverter.convert(JsonNodeToObjectConverter.java:37)
at io.micronaut.core.convert.DefaultConversionService.convert(DefaultConversionService.java:114)
at io.micronaut.context.env.DefaultEnvironment.convert(DefaultEnvironment.java:359)
at io.micronaut.core.convert.ConversionService.convert(ConversionService.java:117)
at io.micronaut.http.bind.binders.DefaultBodyAnnotationBinder.bind(DefaultBodyAnnotationBinder.java:78)
at io.micronaut.http.bind.binders.DefaultBodyAnnotationBinder.bind(DefaultBodyAnnotationBinder.java:37)
at io.micronaut.http.server.binding.RequestArgumentSatisfier.lambda$getValueForBlockingBodyArgumentBinder$3(RequestArgumentSatisfier.java:161)
at io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:253)
at io.micronaut.web.router.RouteMatch.execute(RouteMatch.java:122)
at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$buildResultEmitter$17(RoutingInBoundHandler.java:1400)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.Flowable.subscribe(Flowable.java:14865)
at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:37)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.Flowable.subscribe(Flowable.java:14865)
at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.internal.operators.flowable.FlowableSwitchIfEmpty.subscribeActual(FlowableSwitchIfEmpty.java:32)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.Flowable.subscribe(Flowable.java:14865)
at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.Flowable.subscribe(Flowable.java:14868)
at io.micronaut.http.context.ServerRequestTracingPublisher.lambda$subscribe$0(ServerRequestTracingPublisher.java:52)
at io.micronaut.http.context.ServerRequestContext.with(ServerRequestContext.java:52)
at io.micronaut.http.context.ServerRequestTracingPublisher.subscribe(ServerRequestTracingPublisher.java:52)
at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.Flowable.subscribe(Flowable.java:14865)
at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
at io.reactivex.Flowable.subscribe(Flowable.java:14918)
at io.reactivex.Flowable.subscribe(Flowable.java:14865)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:288)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:253)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalAccessError: tried to access class com.example.$ExternalPerson$Introspection from class example.micronaut.$ExternalPersonConfig$IntrospectionRef0
at example.micronaut.$ExternalPersonConfig$IntrospectionRef0.load(Unknown Source)
at io.micronaut.core.beans.DefaultBeanIntrospector.lambda$findIntrospection$0(DefaultBeanIntrospector.java:72)
at java.util.Optional.map(Optional.java:215)
at io.micronaut.core.beans.DefaultBeanIntrospector.findIntrospection(DefaultBeanIntrospector.java:68)
... 55 common frames omitted
Caused by: java.lang.IllegalAccessError: tried to access class com.example.$ExternalPerson$Introspection from class example.micronaut.$ExternalPersonConfig$IntrospectionRef0
Environment Information
Operating System: mac
Micronaut Version: 1.2.8
JDK Version:
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
@jameskleeh it is not an issue. I had module micronaut project where all my pojo resides. If i place @introspected in the pojo class which is a dependency on my service project. Then the bean Introspection doesn't take place. Removed @introspected from the pojo. Works fine.
Task List
Steps to Reproduce
https://github.com/iwarapter/mn-bean-validation-error-demo/blob/master/swagger-models/src/main/java/com/example/ExternalPerson.java
https://github.com/iwarapter/mn-bean-validation-error-demo/blob/master/app/src/main/java/example/micronaut/ExternalPersonConfig.java
https://github.com/iwarapter/mn-bean-validation-error-demo/blob/master/app/src/test/java/example/micronaut/HelloControllerTest.java#L56
Expected Behaviour
Documented feature works as expected:
https://docs.micronaut.io/latest/guide/index.html#_use_the_code_introspected_code_annotation_on_a_configuration_class
Actual Behaviour
Environment Information
Example Application
Complete reproducer with tests and example of working local classes but broken external ones.
The text was updated successfully, but these errors were encountered: