Proxy classes and reflection (IllegalAccessException)
    Alan Bateman 
    Alan.Bateman at oracle.com
       
    Thu Apr  7 12:05:52 UTC 2016
    
    
  
On 07/04/2016 12:39, Dawid Weiss wrote:
> I don't want to hijack the other thread, so here's a new one I'm stuck
> with. I get this exception (simplified stack trace a bit):
>
> Caused by: java.lang.IllegalAccessException: class
> org.jboss.resteasy.core.ContextParameterInjector cannot access class
> com.sun.proxy.jdk.proxy2.$Proxy65 (in module jdk.proxy2) because
> module jdk.proxy2 does not export com.sun.proxy.jdk.proxy2 to unnamed
> module @79ca92b9
> at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:411)
> at sun.reflect.Reflection.throwIllegalAccessException(java.base at 9-ea/Reflection.java:402)
> at sun.reflect.Reflection.ensureMemberAccess(java.base at 9-ea/Reflection.java:99)
> at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(java.base at 9-ea/AccessibleObject.java:355)
> at java.lang.reflect.AccessibleObject.checkAccess(java.base at 9-ea/AccessibleObject.java:347)
> at java.lang.reflect.Constructor.newInstance(java.base at 9-ea/Constructor.java:444)
> at org.jboss.resteasy.core.ContextParameterInjector.createProxy(ContextParameterInjector.java:94)
> ... 53 more
>
> I think RestEasy attempts to do create a new instance of a proxy class
> here (the complete process here eludes my understanding for now). Any
> clues how this can be solved?
I assume it should be using newProxyInstance rather that trying to 
instantiate the proxy class directly. The reason it can't instantiate it 
directly is because it has been generated into a "dynamic module" 
(jdk.proxy2 in this case). I assume you'll find that the proxy was 
created with an interface that is not in an exported package.
The "Package and Module Membership of Proxy Class" and "Dynamic Modules" 
sections of the Proxy javadoc [1] has all the details.
-Alan.
[1] http://download.java.net/java/jdk9/docs/api/java/lang/reflect/Proxy.html
    
    
More information about the jigsaw-dev
mailing list