Thus, it is obvious that something is trying to use the sun.reflect.annotation package, which is not in the JRE whitelist . The question remains, since none of the classes in spring-framework uses this package explicitly (from grepping source ).
The stack trace indicates that the culprit is the following line:
Proxy.getInvocationHandler(annotation) instanceof SynthesizedAnnotationInvocationHandler))
As you might expect, the JDK defines sun.reflect.annotation.AnnotationInvocationHandler as a dynamic proxy implementation of Annotation. So it looks like it's due to synthesized annotation when the method checks this annotation call handler and ends up accessing the sun.reflect.annotation package.
Hope this can lead to a more complete answer.
Adam
source share