Adobe Content Package Maven-Plug-in adobe-content-package-maven-plugin
Verwenden Sie das Adobe Content Package Maven-Plug-in, 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 AEM Package 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-Plug-ins obtaining-the-content-package-maven-plugin
Das Plug-in ist im Maven Central Repository verfügbar.
Ziele und Parameter des Content Package Maven-Plug-ins
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.
failOnError
boolean
false
true
führt zum Fehlschlagen des Builds, wenn ein Fehler auftritt. Der Wert false
führt dazu, dass der Build den Fehler ignoriert.package
name
String
build
: Ja, install
: Nein, rm
: Jabuild
: Kein Standard, install
: Der Wert der Eigenschaft artifactId
des Maven-Projektsls
password
String
admin
package
serverId
String
package
targetURL
String
http://localhost:4502/crx/packmgr/service.jsp
package
timeout
int
5
package
useProxy
boolean
true
true
veranlasst Maven, die erste aktive Proxy-Konfiguration zu verwenden, die gefunden wurde, um Anforderungen an Package Manager zu senden.package
userId
String
admin
package
verbose
boolean
false
package
build 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.
artifact
String
artifactId
des Maven-ProjektsgroupId:artifactId:version[:packaging]
artifactId
String
groupId
String
groupId
des zu installierenden Artefaktsinstall
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
packageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
project
org.apache.maven.project.MavenProject
repositoryId
(POM), repoID
(Befehlszeile)String
temp
repositoryUrl
(POM), repoURL
(Befehlszeile)String
ls ls
Führt die in Package Manager bereitgestellten Pakete auf.
Parameter parameters-2
Alle Parameter des Ziels „Is“ werden im Abschnitt Allgemeine Parameter beschrieben.
rm rm
Entfernt ein Paket aus Package 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
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
Einbeziehen 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 in Package 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.