Beheben von jcr:mixinTypes ValueFormatException in AEM Builds

Pipeline-Builds in Adobe Experience Manager (AEM) as a Cloud Service schlagen aufgrund eines veralteten org.apache.sling.jcr.repoinit-Bundles fehl. Dieses Problem tritt auf, wenn ein repoInit fälschlicherweise einer JCR-Eigenschaft mit mehreren Werten einen einzelnen Wert zuweist und so eine „ValueFormatException auslöst. In diesem Artikel wird die Grundursache erläutert und Schritte zur Behebung des Problems beschrieben, indem das Paket aktualisiert und das Skript korrigiert wird.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) as a Cloud Service - Sites
  • Die aktuelle Version org.apache.sling.jcr.repoinit Bundles ist 1.1.38. Version 1.154 oder höher ist erforderlich.
  • Pipeline-Fehler treten gelegentlich während der Bereitstellung auf. Bereitstellungen von Entwicklungsumgebungen sind in der Regel erfolgreich.

Problem/Symptome

Der Pipeline-Build schlägt mit dem folgenden Fehler fehl:

Ausnahme In einem SlingRepositoryInitializer wurde die Registrierung des SlingRepository-Dienstes von javax.jcr.RepositoryException: Anwenden des repoinit-Vorgangs ist trotz Wiederholung fehlgeschlagen; setzen Sie die Protokollebene auf DEBUG, um alle Ausnahmen anzuzeigen. Die letzte Ausnahmemeldung von „Configuration PID 313, script[ 0] " war: Eigenschaften können nicht für Pfad [ /conf/somepath] festgelegt werden: javax.jcr.ValueFormatException: Mehrwertige Eigenschaft kann nicht mit einem Wert versehen werden: jcr:mixinTypes = mix:lockable

Ursache

Das repoInit-Skript versucht, Folgendes zuzuweisen jcr:mixinTypes als einzelner Wert statt als Array mit mehreren Werten. Dies führt zu einer nicht behandelten ValueFormatException, was dazu führt, dass die Pipeline-Ausführung fehlschlägt.

Auflösung resolution

So beheben Sie dieses Problem:

  1. Ändern Sie das RepoInit-Skript so, dass jcr:mixinTypes als Array mit mehreren Werten geschrieben wird, oder entfernen Sie die Zeile, wenn die Mixins bereits vorhanden sind.
  2. Aktualisieren Sie das org.apache.sling.jcr.repoinit-Bundle auf Version 1.154 oder höher, die eine Korrektur für dieses Problem enthält. Dieses Update kann in zukünftigen Foundation-Versionen enthalten sein (​ Sie die Verfügbarkeit ​.
  3. Stellen Sie sicher, dass RepoInit-Skripte Arrays für Eigenschaften mit mehreren Werten verwenden, bis das aktualisierte Bundle verfügbar ist.

Durch die Implementierung dieser Schritte können Pipeline-Build-Fehler, die durch Repository-Initialisierungsfehler verursacht wurden, effektiv behoben werden.

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