Adobe Content Package Maven Plugin adobe-content-package-maven-plugin
Verwenden Sie das Adobe Content Package Maven Plugin, um Paketbereitstellungs- und -verwaltungsaufgaben in Ihre Maven-Projekte zu integrieren.
Die Bereitstellung der erstellten Pakete in AEM wird vom Adobe Content Package-Maven-Plug-in durchgeführt und ermöglicht die Automatisierung von Aufgaben, die normalerweise mit dem AEM-Paket-Manager ausgeführt werden:
- Erstellen Sie neue Pakete anhand der Dateien im Dateisystem.
- Installieren und deinstallieren Sie Pakete in AEM.
- Erstellen Sie bereits in AEM definierte Pakete.
- Rufen Sie eine Liste der in AEM installierten Pakete ab.
- Entfernen Sie ein Paket aus AEM.
In diesem Dokument wird erläutert, wie Sie diese Aufgaben mit Maven verwalten können. Es ist jedoch auch wichtig zu verstehen, wie AEM-Projekte und ihre Pakete strukturiert sind.
Pakete und die AEM-Projektstruktur aem-project-structure
AEM as a Cloud Service hält sich an die neuesten Best Practices für Package-Management und Projektstruktur, wie sie vom neuesten AEM-Projektarchetyp implementiert wurden.
Abrufen des Content Package Maven Plugin obtaining-the-content-package-maven-plugin
Das Plug-in ist im Maven Central Repository verfügbar.
Ziele und Parameter des Content Package Maven Plugin
Um das Inhaltspaket-Maven-Plug-in zu verwenden, fügen Sie das folgende Plug-in-Element innerhalb des Build-Elements Ihrer POM-Datei hinzu:
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<!-- parameters and values common to all goals, as required -->
</configuration>
</plugin>
Um Maven zu ermöglichen, das Plug-in herunterzuladen, verwenden Sie das Profil, das im Abschnitt Abrufen des Inhaltspaket-Maven-Plug-ins auf dieser Seite bereitgestellt wird.
Ziele des Inhaltspaket-Maven-Plug-ins goals-of-the-content-package-maven-plugin
Die durch das Inhaltspaket-Plug-in bereitgestellten Ziele und Zielparameter werden in den folgenden Abschnitten beschrieben. Die im Abschnitt „Allgemeine Parameter“ beschriebenen Parameter können für die meisten der Ziele verwendet werden. Parameter, die für ein Ziel gelten, werden im Abschnitt für dieses Ziel beschrieben.
Plug-in-Präfix plugin-prefix
Das Plug-in-Präfix lautet content-package. Verwenden Sie dieses Präfix, um ein Ziel über die Befehlszeile auszuführen, wie dies im folgenden Beispiel gezeigt wird:
mvn content-package:build
Parameterpräfix parameter-prefix
Soweit nicht anderweitig gekennzeichnet, verwenden die Plug-in-Ziele und -Parameter das Präfix vault. Dies gilt auch für das folgende Beispiel:
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
Proxys proxies
Ziele, die Proxys für AEM verwenden, verwenden die erste gültige Proxy-Konfiguration, die in den Maven-Einstellungen gefunden wurde. Wenn keine Proxy-Konfiguration gefunden wird, wird kein Proxy verwendet. Siehe hierzu den Parameter useProxy im Abschnitt Allgemeine Parameter.
Allgemeine Parameter common-parameters
Die Parameter in der folgenden Tabelle gelten für alle Ziele, sofern kein entsprechender Hinweis in der Spalte Ziele vorliegt.
failOnErrorbooleanfalsetrue führt zum Fehlschlagen des Builds, wenn ein Fehler auftritt. Der Wert false führt dazu, dass der Build den Fehler ignoriert.packagenameStringbuild: Ja, install: Nein, rm: Jabuild: Kein Standard, install: Der Wert der Eigenschaft artifactId des Maven-ProjektslspasswordStringadminpackageserverIdStringpackagetargetURLStringhttp://localhost:4502/crx/packmgr/service.jsppackagetimeoutint5packageuseProxybooleantruetrue veranlasst Maven, die erste aktive Proxy-Konfiguration zu verwenden, die gefunden wurde, um Anforderungen an den Paket-Manager zu senden.packageuserIdStringadminpackageverbosebooleanfalsepackagebuild build
Erstellt ein Inhaltspaket, das bereits auf einer AEM-Instanz definiert ist.
Parameter parameters
Alle Parameter für das Build-Ziel werden im Abschnitt Allgemeine Parameter beschrieben.
install install
Installiert ein Paket im Repository. Für die Ausführung dieses Ziels ist kein Maven-Projekt erforderlich. Das Ziel ist an die install-Phase des Maven-Build-Lebenszyklus gebunden.
Parameter parameters-1
Lesen Sie neben den folgenden Parametern die Beschreibungen im Abschnitt Allgemeine Parameter.
artifactStringartifactId des Maven-ProjektsgroupId:artifactId:version[:packaging]artifactIdStringgroupIdStringgroupId des zu installierenden ArtefaktsinstallbooleantruelocalRepositoryorg.apache.maven.artifact.repository.ArtifactRepositorylocalRepositorypackageFilejava.io.FilepackagingStringzippomRemoteRepositoriesjava.util.ListremoteArtifactRepositoriesprojectorg.apache.maven.project.MavenProjectrepositoryId (POM), repoID (Befehlszeile)StringtemprepositoryUrl (POM), repoURL (Befehlszeile)Stringls ls
Führt die im Paket-Manager bereitgestellten Pakete auf.
Parameter parameters-2
Alle Parameter des Ziels „Is“ werden im Abschnitt Allgemeine Parameter beschrieben.
rm rm
Entfernt ein Paket aus dem Paket-Manager.
Parameter parameters-3
Alle Parameter des Ziels „rm“ werden im Abschnitt Allgemeine Parameter beschrieben.
uninstall uninstall
Deinstalliert ein Paket. Das Paket verbleibt auf dem Server mit dem deinstallierten Status.
Parameter parameters-4
Alle Parameter des Ziels „uninstall“ werden im Abschnitt Allgemeine Parameter beschrieben.
help help
Parameter parameters-6
detailbooleanfalsegoalStringindentSizeint2lineLengthint80Einbeziehen eines Miniaturbilds oder einer Eigenschaftsdatei im Paket including-a-thumbnail-image-or-properties-file-in-the-package
Ersetzen Sie die standardmäßigen Paketkonfigurationsdateien, um die Paketeigenschaften anzupassen. Verwenden Sie beispielsweise ein Miniaturbild, um das Paket im Paket-Manager zu unterscheiden.
Die Quelldateien können sich überall in Ihrem Dateisystem befinden. Definieren Sie in der POM-Datei die Build-Ressourcen, um die Quelldateien nach target/vault-work/META-INF zu kopieren, um sie ins Paket einzuschließen.
Im folgenden POM-Code werden die Dateien im Ordner META-INF der Projektquelle zum Paket hinzugefügt:
<build>
<resources>
<!-- vault META-INF resources (thumbnail and so on) -->
<resource>
<directory>${basedir}/src/main/content/META-INF</directory>
<targetPath>../vault-work/META-INF</targetPath>
</resource>
</resources>
</build>
Im folgenden POM-Code wird nur ein Miniaturbild zum Paket hinzugefügt. Das Miniaturbild muss thumbnail.png benannt werden und sich im Ordner META-INF/vault/definition des Pakets befinden. In diesem Beispiel befindet sich die Quelldatei im Ordner /src/main/content/META-INF/vault/definition des Projekts:
<build>
<resources>
<!-- thumbnail only -->
<resource>
<directory>${basedir}/src/main/content/META-INF/vault/definition</directory>
<targetPath>../vault-work/META-INF/vault/definition</targetPath>
</resource>
</resources>
</build>
Verwenden des AEM-Projektarchetyps zum Erzeugen von AEM-Projekten using-archetypes
Der aktuelle AEM-Projektarchetyp implementiert die am meisten bewährte Paketstruktur sowohl für On-Premise- als auch für AMS-Implementierungen und wird für alle AEM-Projekte empfohlen.