Install the CXF packages externally to solve the issue of the NoClassDefFoundError after an upgrade to Java 11 with AEM 6.5x.
Description
The error below is observed in the logs after upgrading to Java 11 with AEM 6.5.x.
15.09.2020 00:30:20.868 *ERROR* [
FelixStartLevel]
org.apache.sling.scripting.sightly bundle
org.apache.sling.scripting.sightly:1.1.2.1_4_0 (557)
[
org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider(3410)]
: Error during
instantiation of the implementation object (java.lang.NoClassDefFoundError:
jdk/internal/reflect/ConstructorAccessorImpl)
java.lang.NoClassDefFoundError: jdk/internal/reflect/ConstructorAccessorImpl
at java.base/jdk.internal.misc.Unsafe.defineClass0(Native Method)
at java.base/jdk.internal.misc.Unsafe.defineClass(Unsafe.java:1192)
at java.base/jdk.internal.reflect.ClassDefiner.defineClass(ClassDefiner.java:63)
at java.base/jdk.internal.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:400)
at java.base/jdk.internal.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:394)
at java.base/java.security.AccessController.doPrivileged(Native Method)
…
Caused by: java.lang.ClassNotFoundException: Unable to load class
‘jdk.internal.reflect.ConstructorAccessorImpl’
at org.apache.felix.framework.BundleWiringImpl$1.loadClass(BundleWiringImpl.java:91)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1463)
at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
… 111 common frames omitted