Fout bij compilatie pijplijn door PDFBox-bibliotheek in AEM as a Cloud Service
De compilatie van de pijpleiding in Adobe Experience Manager (AEM) as a Cloud Service ontbreekt wanneer de bibliotheek PDFBox niet behoorlijk als OSGi-Volgzame bundel wordt ingebed. Dit resulteert in onopgeloste gebiedsdelen en analysatorfouten tijdens het bouwstijlproces. Om dit te bevestigen, moet u PDFBox en zijn gebiedsdelen in een specifieke bundel verpakken OSGi, de POM- dossiers van uw project bijwerken, en de correcte bouwstijlorde en pluginversies verzekeren.
Beschrijving description
Omgeving
Adobe Experience Manager (AEM) as a Cloud Service - Sites (ontwikkelingsomgeving)
Probleem/symptomen
- Waarschuwingen die aangeven dat pakketten zoals
pdfbox-io:3.0.1enpdfbox:3.0.1moeten worden geïmporteerd zonder versiebereiken op te geven. - Fouten die verklaren dat de vereiste pakketten van PDFBox niet op het noodzakelijke OSGi beginniveau worden uitgevoerd, resulterend in onopgeloste gebiedsdelen tijdens runtime:
2025-05-28 11:31:04.782 The analyser found the following errors for author and publish : 2025-05-28 11:31:04.783 [ api-regions-exportsimports] <custom>-<bundle>-project.core:0.0.1-SNAPSHOT: Bundle <custom>-<bundle>-project.core:0.0.1-SNAPSHOT is importing package(s) [ org.apache.pdfbox.pdmodel.common.filespecification, org.apache.pdfbox.multipdf, org.apache.pdfbox.pdmodel] in start level 20 but no bundle is exporting these for that start level. (com.<custom>.<code>:<custom>-<bundle>-project.all:0.0.1-SNAPSHOT)
- Het probleem doet zich alleen voor in de cloud-omgeving. Lokale builds kunnen correct worden gecompileerd.
- Pogingen om PDFBox in te sluiten met
filter.xmlof POM-bestanden te wijzigen, zijn mislukt.
Resolutie resolution
Om deze kwestie op te lossen, zorg ervoor dat alle gebiedsdelen behoorlijk ingebed en voor runtime van AEM OSGi milieu worden gevormd:
-
Creeer een afzonderlijke module om PDFBox als bundel OSGi te verpakken.
- Alle vereiste afhankelijkheden opnemen, zoals FontBox.
- Gebruik de insteekmodule Apache Felix Maven Bundle om pakketten expliciet te exporteren.
-
Werk het
all/pom.xmlbestand bij.-
Voeg een ingesloten item toe voor de omsluitende module PDFBox:
code language-none <embedded> <groupId>com.<custom>.<code></groupId> <artifactId><custom>-<bundle>-project.pdfbox-wrapper</artifactId> <type>jar</type> <target>/apps/custom-packages/application/install</target> </embedded> -
Declareer een gebiedsdeel voor de omslagmodule:
code language-none <dependency> <groupId>com.<custom>.<code></groupId> <artifactId><custom>-<bundle>-project.pdfbox-wrapper</artifactId> <version>0.0.1-SNAPSHOT</version> <type>jar</type> </dependency>
-
-
Verzeker de omslagmodule bouwt vóór andere modules die van het door modules correct in het dossier van aggregator POM afhangen te opdracht geven.
-
Voer een upgrade uit van
filevault-package-maven-pluginnaar versie 1.1.5 of hoger als uw huidige versie geen ondersteuning biedt voor tags als<version>inside<embedded>. -
Looppas
mvn clean installplaatselijk om te verifiëren:- De omslag JAR wordt gecreeerd met correcte duidelijke ingangen.
- Het artefact wordt weergegeven onder
/apps/custom-packages/application/install.
-
Implementeer het bijgewerkte pakket via de Cloud Manager-pijplijn en bevestig dat er geen fouten met de analysator meer optreden.