Groovy connector needs access to java internals
krystofNovotny opened this issue · 0 comments
krystofNovotny commented
Groovy connector tries to access class not available in JDK 11.
Workaround:
To config.properties
add:
org.osgi.framework.bootdelegation=sun.*,com.sun.*,com.sun,apple.*,com.apple.*,javax.net.ssl,jdk.internal.reflect
Error message:
wrenidm | -> ShellTUI: No standard input...exiting.
wrenidm | OpenIDM version "6.0.0-SNAPSHOT" (revision: c36a456) forgerock/master-2016 master
wrenidm | WARNING: An illegal reflective access operation has occurred
wrenidm | WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass$3$1 (file:/opt/wrenidm/bundle/groovy-all-2.4.7.jar) to method java.util.concurrent.ConcurrentMap.lambda$replaceAll$0(java.util.function.BiFunction,java.lang.Object,java.lang.Object)
wrenidm | WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass$3$1
wrenidm | WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
wrenidm | WARNING: All illegal access operations will be denied in a future release
wrenidm | Aug 11, 2021 12:05:05 PM org.forgerock.openidm.logging.LogServiceTracker logEntry
wrenidm | SEVERE: Bundle: org.forgerock.openidm.provisioner-openicf [197] bundle org.forgerock.openidm.provisioner-openicf:6.0.0.SNAPSHOT (197)[org.forgerock.openidm.provisioner.openicf.impl.OpenICFProvisionerService(49)] : The activate method has thrown an exception
wrenidm | org.apache.felix.log.LogException: java.lang.NoClassDefFoundError: jdk/internal/reflect/MethodAccessorImpl
wrenidm | at java.base/jdk.internal.misc.Unsafe.defineClass0(Native Method)
wrenidm | at java.base/jdk.internal.misc.Unsafe.defineClass(Unsafe.java:1192)
wrenidm | at java.base/jdk.internal.reflect.ClassDefiner.defineClass(ClassDefiner.java:63)
wrenidm | at java.base/jdk.internal.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:400)
wrenidm | at java.base/jdk.internal.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:394)
wrenidm | at java.base/java.security.AccessController.doPrivileged(Native Method)
wrenidm | at java.base/jdk.internal.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:393)
wrenidm | at java.base/jdk.internal.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:75)
wrenidm | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:53)
wrenidm | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
wrenidm | at java.base/java.lang.reflect.Method.invoke(Method.java:566)
wrenidm | at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
wrenidm | at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
wrenidm | at org.codehaus.groovy.runtime.metaclass.MethodMetaProperty$GetBeanMethodMetaProperty.getProperty(MethodMetaProperty.java:76)
wrenidm | at org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite.callGetProperty(GetEffectivePogoPropertySite.java:48)
wrenidm | at SqlObjectConfig.forObjectClass(SqlObjectConfig.groovy:51)
wrenidm | at SqlObjectConfig$forObjectClass.call(Unknown Source)
wrenidm | at SqlTestScript$_run_closure1.doCall(SqlTestScript.groovy:20)
wrenidm | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
wrenidm | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)