I wonder what is the best way to fix the code of Guice ? Use Unsafe.defineAnonymousClass ?
cheers, Rémi ----- Mail original ----- > De: "Alan Bateman" <alan.bate...@oracle.com> > À: "Dawid Weiss" <dawid.we...@gmail.com> > Cc: "jigsaw-dev" <jigsaw-dev@openjdk.java.net> > Envoyé: Lundi 19 Septembre 2016 14:47:58 > Objet: Re: NoClassDefFoundError: Could not initialize,class > com.google.inject.internal.cglib.core.$ReflectUtils > On 19/09/2016 05:35, Dawid Weiss wrote: > >> Yes, it prints: >> >> java.lang.reflect.InaccessibleObjectException: Unable to make >> protected final java.lang.Class >> java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) >> throws java.lang.ClassFormatError accessible: module java.base does >> not "exports private java.lang" to unnamed module @4527468c >> at >> java.base/jdk.internal.reflect.Reflection.throwInaccessibleObjectException(Reflection.java:414) >> at >> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:196) >> at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:192) >> at java.base/java.lang.reflect.Method.setAccessible(Method.java:186) >> at >> com.google.inject.internal.cglib.core.$ReflectUtils$1.run(ReflectUtils.java:52) >> at java.base/java.security.AccessController.doPrivileged(Native Method) >> at >> com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:42) >> at >> com.google.inject.internal.cglib.reflect.$FastClass$Generator.getProtectionDomain(FastClass.java:73) >> [truncated] >> > I assume running with `--add-exports-private > java.base/java.lang=ALL-UNNAMED` will allow you get past this. > > -Alan