AEM 빌드에서 jcr:mixinTypes ValueFormatException 수정
오래된 org.apache.sling.jcr.repoinit 번들로 인해 Adobe Experience Manager(AEM) as a Cloud Service의 파이프라인 빌드가 실패했습니다. 이 문제는 repoInit 스크립트에서 다중 값 JCR 속성에 단일 값을 잘못 할당하여 ValueFormatException 이 트리거될 때 발생합니다. 이 문서에서는 근본 원인을 설명하고 번들을 업데이트하고 스크립트를 수정하여 문제를 해결하는 단계를 제공합니다.
설명 description
환경
- Adobe Experience Manager(AEM) as a Cloud Service - Sites
org.apache.sling.jcr.repoinit번들의 현재 버전은 1.1.38입니다. 버전 1.154 이상이 필요합니다.- 배포 중에 파이프라인 오류가 간헐적으로 발생합니다. 개발 환경 배포는 일반적으로 성공합니다.
문제/증상
파이프라인 빌드가 실패하고 다음 오류가 발생합니다.
SlingRepositoryInitializer에 예외가 있습니다. SlingRepository 서비스 등록이 javax.jcr.RepositoryException: 다시 시도에도 불구하고 repoinit 작업을 적용하지 못했습니다. 모든 예외를 보려면 loglevel을 DEBUG로 설정하십시오. "구성 PID 313, 스크립트 [ 0] "의 마지막 예외 메시지: 경로 [ /conf/somepath]에서 속성을 설정할 수 없습니다. javax.jcr.ValueFormatException: 다중 값 속성에 단일 값을 할당할 수 없습니다. jcr:mixinTypes = mix:lockable
근본 원인
repoInit 스크립트가 할당을 시도합니다. jcr:mixinTypes을(를) 다중 값 배열이 아닌 단일 값으로 사용했습니다. 이로 인해 처리되지 않은 ValueFormatException 이 발생하여 파이프라인 실행이 실패했습니다.
해결 방법 resolution
이 문제를 해결하려면:
jcr:mixinTypes이(가) 다중 값 배열로 작성되도록 repoInit 스크립트를 수정하거나 mixin이 이미 있는 경우 줄을 제거하십시오.org.apache.sling.jcr.repoinit번들을 버전 1.154 이상(이 문제에 대한 수정 사항 포함)으로 업그레이드하십시오. 이 업데이트는 향후 Foundation 릴리스에 포함될 수 있습니다. 가용성에 대한 릴리스 일정을 확인.- 업데이트된 번들을 사용할 수 있을 때까지 repoInit 스크립트가 다중 값 속성에 배열을 사용하는지 확인하십시오.
이러한 단계를 구현하면 저장소 초기화 오류로 인해 발생하는 파이프라인 빌드 오류를 효과적으로 완화할 수 있습니다.