O JDK 11 causa NoClassDefFoundError AEM 6.5

Instale os pacotes CXF externamente para resolver o problema do  NoClassDefFoundError após uma atualização para o Java 11 com AEM 6.5x.

Descrição description

O erro abaixo é observado nos registros após a atualização para o Java 11 com AEM 6.5.x.

15.9.2020 00:30:20.868 *ERRO* [ FelixStartLevel] org.apache.sling.scripting.sightly pacote org.apache.sling.scripting.sightly:1.1.2.1_4_0 (557)
[ org.apache.sling.scripting.sightly.impl.engine.extension.use.JavaUseProvider(3410)] : Erro durante a instanciação do objeto de implementação (java.lang.NoClassDefFoundError: jdk/internal/mirror/ConstructorAccessorImpl) java.lang.NoClassDefFoundError: jdk/internal/mirror/ConstructorAccessorImpl em java.base/jdk.internal.misc.Unsafe.defineClass0(Método nativo) em java.base/jdk.internal.misc.Unsafe.defineClass(Unsafe.java:1192) em java.base/jdk.internal.reflita.Class er.defineClass(ClassDefiner.java:63) em java.base/jdk.internal.reflexo.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:400) em java.base/jdk.internal.reflexo.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:394) em java.base/java.security.AccessController.doPrivileged(Native Method) … Causado por: java.lang.ClassNotFoundException: Não é possível carregar a classe 'jdk.internal.mirror.ConstructorAccessorImpl' em org.apache.felix.framework.BundleWiringImpl$1.loadClass(BundleWiringImpl.java:91) em java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) em org.apache.felix.framework.BundleWiringImpl.findClass OrResourceByDelegation(BundleWiringImpl.java:1463) em org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) em org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982) em java.base/java.lang.ClassClass ader.loadClass(ClassLoader.java:521) … 111 quadros comuns omitidos

Resolução resolution

Esse problema ocorre porque os pacotes CXF foram removidos do AEM e eles precisam ser instalados externamente:

  1. Pare o AEM.

  2. Localizar e abrir este arquivo em um editor de texto: crx-quickstart/conf/sling.properties.

  3. Modifique esta linha: Antes
    org.osgi.framework.bootdelegation=com.yourkit.*,

    ${org.apache.sling.launcher.bootdelegation}
    Depois

    org.osgi.framework.bootdelegation=sun.*,com.sun.*,jdk.internal.refletion,jdk.internal.refletion.*,com.yourkit.*,${org.apache.sling.launcher.bootdelegation}

  4. Comece o AEM.

Nota: Consulte NoClassDefFoundError: jdk/internal/mirror/ConstructorAccessorImpl com o JDK do Oracle 11.0.3 em issues.apache.org para obter detalhes técnicos sobre esse problema.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f