Correção de jcr:mixinTypes ValueFormatException em builds do AEM

As compilações de pipeline no Adobe Experience Manager (AEM) as a Cloud Service falham devido a um pacote org.apache.sling.jcr.repoinit desatualizado. Esse problema ocorre quando um script repoInit atribui incorretamente um único valor a uma propriedade JCR de vários valores, acionando uma ValueFormatException. Este artigo explica a causa raiz e fornece etapas para resolver o problema, atualizando o pacote e corrigindo o script.

Descrição description

Ambiente

  • Adobe Experience Manager (AEM) as a Cloud Service - Sites
  • A versão atual do pacote org.apache.sling.jcr.repoinit é 1.1.38. A versão 1.154 ou posterior é necessária.
  • Falhas de pipeline ocorrem intermitentemente durante implantações. As implantações de ambientes de desenvolvimento normalmente são bem-sucedidas.

Problema/Sintomas

A build do pipeline falha com o seguinte erro:

Exceção em um SlingRepositoryInitializer, o registro do serviço SlingRepository anulou javax.jcr.RepositoryException: a aplicação da operação repoinit falhou apesar da tentativa; defina loglevel como DEBUG para ver todas as exceções. A última mensagem de exceção de "Configuração PID 313, script[ 0] " foi: Não é possível definir propriedades no caminho [ /conf/algum caminho] : javax.jcr.ValueFormatException: não é possível atribuir um único valor à propriedade de vários valores: jcr:mixinTypes = mix:lockable

Causa raiz

O script repoInit tenta atribuir jcr:mixinTypes como um valor único em vez de uma matriz de vários valores. Isso causa uma ValueFormatException sem tratamento, o que resulta em falha de execução de pipeline.

Resolução resolution

Para resolver esse problema:

  1. Modifique o script repoInit para que jcr:mixinTypes seja gravado como uma matriz de vários valores ou remova a linha se os mixins já estiverem presentes.
  2. Atualize o pacote org.apache.sling.jcr.repoinit para a versão 1.154 ou posterior, que inclui uma correção para esse problema. Esta atualização pode ser incluída em versões futuras do Foundation; verifique os agendamentos de lançamento quanto à disponibilidade.
  3. Até que o pacote atualizado fique disponível, certifique-se de que os scripts repoInit usem matrizes para propriedades com vários valores.

Ao implementar essas etapas, as falhas de build de pipeline causadas por erros de inicialização de repositório podem ser atenuadas com eficiência.

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