AEM Cloud Manager-Bereitstellung schlägt aufgrund fehlender Apache Tika-Paketimporte fehl
In diesem Artikel wird beschrieben, wie Sie Fehler bei der Bereitstellungs-Pipeline in Adobe Experience Manager Cloud Manager-Umgebungen beheben können, die durch fehlende Apache Tika-Paketimporte in benutzerdefinierten Anwendungspaketen verursacht werden.
Beschreibung description
Umgebung
- Adobe Experience Manager (AEM) as a Cloud Service
- Cloud Manager
Problem/Symptome
-
Die Bereitstellungs-Pipeline schlägt während des Bereitstellungsschritts in der QS-Umgebung fehl.
-
Alle vorherigen Pipeline-Schritte (Build, Code-Qualität, Image-Erstellung, Transformationsauftrag und Indexaktualisierungen) wurden erfolgreich abgeschlossen.
-
Die Bereitstellung schlägt fehl und es wird eine Fehlermeldung angezeigt, die angibt, dass die Container nicht bereit sind.
-
AEM-Veröffentlichungsprotokolle zeigen wiederholte OSGi-Framework-Fehler im Zusammenhang mit der PDF-Extraktionsfunktion an, z. B.:
NoClassDefFoundError: org/apache/tika/io/IOExceptionWithCauseClassNotFoundException: org.apache.tika.io.IOExceptionWithCause not found
-
Die von der Plattform bereitgestellten Apache Tika-Bundles (
org.apache.tika.core,org.apache.tika.parsers) sind vorhanden und aktiv. -
Das benutzerdefinierte Anwendungspaket importiert nicht die erforderlichen
org.apache.tika.*-Pakete, was zu Fehlern beim Laden der Klassen beim Referenzieren von Tika-Klassen führt. -
Das Problem ist bei jeder Pipeline-Ausführung für die betroffene Umgebung reproduzierbar.
Ursache
Die Bereitstellungs-Pipeline schlägt fehl, da das benutzerdefinierte Anwendungspaket die erforderlichen Apache Tika-Pakete nicht importiert, was zu Fehlern beim Laden der Klassen während des Starts des Services führt.
Lösung resolution
Gehen Sie wie folgt vor, um den Bereitstellungsfehler zu beheben, der durch fehlende Apache Tika-Paketimporte verursacht wird:
-
Bearbeiten Sie den Abschnitt Import-Package des betroffenen Bundles, um explizit alle erforderlichen
org.apache.tika.*-Packages wieorg.apache.tika.iozu importieren. -
Beispiel (in
bnd.bndoder gleichwertig):Import-Package: org.apache.tika.io, org.apache.tika.* -
Stellen Sie sicher, dass das Bundle keine eigene Version von Apache Tika einbettet. Nutzen Sie die von der Plattform bereitgestellten Tika-Bundles, um Versionskonflikte zu vermeiden.
-
Übertragen Sie das aktualisierte Bundle und stellen Sie es über die Cloud Manager-Pipeline bereit.
-
Überprüfen Sie in der AEM-Web-Konsole, ob das benutzerdefinierte Bundle als importierendes Bundle für
org.apache.tika.coreaufgeführt ist. -
Vergewissern Sie sich, dass in den Protokollen keine
NoClassDefFoundErroroderClassNotFoundExceptionfür Tika-Klassen angezeigt werden. -
Überprüfen Sie, ob die PDF-Extraktion und die zugehörigen Services ohne OSGi-Framework-Fehler starten.