Einrichten des lokalen AEM SDK set-up-local-aem-sdk
Adobe Experience Manager (AEM) kann mithilfe der Schnellstart-JAR des AEM as a Cloud Service-SDKs lokal ausgeführt werden. Auf diese Weise können Entwickelnde benutzerdefinierten Code, Konfigurationen und Inhalte bereitstellen und testen, bevor sie sie der Quell-Code-Kontrolle übergeben und in einer AEM as a Cloud Service-Umgebung bereitstellen.
Beachten Sie, dass ~
als Abkürzung für das Benutzerverzeichnis verwendet wird. Unter Windows entspricht dies %HOMEPATH%
.
Installieren von Java™
Experience Manager ist eine Java™-Anwendung und erfordert daher das Oracle Java™-SDK, um die Entwicklungs-Tools zu unterstützen.
- Laden Sie das neueste Java™ 11-SDK herunter und installieren Sie es
- Stellen Sie sicher, dass das Oracle Java™ 11-SDK installiert ist, indem Sie den folgenden Befehl ausführen:
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Herunterladen des AEM as a Cloud Service-SDK
Das AEM as a Cloud Service SDK bzw. AEM SDK enthält die Schnellstart-JAR, die zum lokalen Ausführen von AEM Author und Publish für die Entwicklung verwendet wird, sowie die kompatible Version der Dispatcher-Tools.
- Melden Sie sich mit Ihrer Adobe ID auf https://experience.adobe.com/#/downloads an
- Beachten Sie, dass Ihre Adobe-Organisation für AEM as a Cloud Service bereitgestellt werden muss, um das AEM as a Cloud Service-SDK herunterladen zu können.
- Navigieren Sie zur Registerkarte AEM as a Cloud Service
- Sortieren Sie nach Veröffentlichungsdatum in absteigender Reihenfolge
- Klicken Sie auf die neueste AEM SDK-Ergebniszeile
- Überprüfen und akzeptieren Sie die EULA und tippen Sie auf die Schaltfläche Herunterladen
Extrahieren Sie die Schnellstart-JAR-Datei aus der AEM SDK-ZIP
- Entpacken Sie die heruntergeladene Datei
aem-sdk-XXX.zip
Einrichten eines lokalen AEM-Author-Service set-up-local-aem-author-service
Der lokale AEM-Author-Service bietet Entwicklerinnen und Entwicklern ein lokales Erlebnis, das digitale Marketing-Fachkräfte/Inhaltsautorinnen bzw. Inhaltsautoren für die Erstellung und Verwaltung von Inhalten freigeben. Der AEM-Author-Service ist sowohl als Verfassungs- als auch als Vorschau-Umgebung konzipiert, sodass die meisten Validierungen der Funktionsentwicklung damit durchgeführt werden können. Dadurch wird er zu einem wichtigen Element des lokalen Entwicklungsprozesses.
-
Erstellen Sie den Ordner
~/aem-sdk/author
-
Kopieren Sie die Schnellstart-JAR-Datei nach
~/aem-sdk/author
und benennen Sie sie inaem-author-p4502.jar
um -
Starten Sie den lokalen AEM-Author-Service, indem Sie Folgendes über die Befehlszeile ausführen:
java -jar aem-author-p4502.jar
- Geben Sie das Admin-Passwort als
admin
an. Jedes Admin-Kennwort ist akzeptabel, es wird jedoch empfohlen, für die lokale Entwicklung das Standardkennwort zu verwenden, um die Notwendigkeit einer Neukonfiguration zu verringern.
- Geben Sie das Admin-Passwort als
Sie können die Schnellstart-JAR für AEM as a Cloud Service nicht durch einen Doppelklick starten.
-
Greifen Sie in einem Webbrowser auf den lokalen AEM-Author-Service unter http://localhost:4502 zu
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Einrichten des lokalen AEM-Publish-Service
Der lokale AEM-Publish-Service bietet Entwicklerinnen und Entwicklern das lokale Erlebnis, das Endbenutzende von AEM erfahren werden, z. B. das Durchsuchen der auf AEM gehosteten Website. Ein lokaler AEM-Publish-Service ist wichtig, da er in die Dispatcher-Tools des AEM SDK integriert ist und es den Entwicklerinnen und Entwicklern ermöglicht, die endgültige Endbenutzererfahrung zu testen und zu optimieren.
-
Erstellen Sie den Ordner
~/aem-sdk/publish
-
Kopieren Sie die Schnellstart-JAR Datei nach
~/aem-sdk/publish
und benennen Sie sie inaem-publish-p4503.jar
um -
Starten Sie den lokalen AEM-Publish-Service, indem Sie Folgendes über die Befehlszeile ausführen:
java -jar aem-publish-p4503.jar
- Geben Sie das Admin-Passwort als
admin
an. Jedes Admin-Kennwort ist akzeptabel, es wird jedoch empfohlen, für die lokale Entwicklung das Standardkennwort zu verwenden, um die Notwendigkeit einer Neukonfiguration zu verringern.
- Geben Sie das Admin-Passwort als
Sie können die Schnellstart-JAR für AEM as a Cloud Service nicht durch einen Doppelklick starten.
-
Greifen Sie in einem Webbrowser auf den lokalen AEM-Veröffentlichungs-Service unter http://localhost:4503 zu
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Einrichten lokaler AEM-Dienste im Vorabversionsmodus
Die lokale AEM-Laufzeit kann im Vorabversionsmodus gestartet werden, sodass eine Entwicklerin oder ein Entwickler die Funktionen der nächsten Version von AEM as a Cloud Service nutzen kann. Die Vorabversion wird aktiviert, indem das Argument -r prerelease
beim ersten Start der lokalen AEM-Laufzeit übergeben wird. Dies kann sowohl mit lokalen AEM-Author- als auch AEM-Publish-Services verwendet werden.
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Simulieren der Inhaltsverteilung content-distribution
In einer echten Cloud-Service-Umgebung werden die Inhalte mithilfe von Sling Content Distribution und der Adobe-Pipeline vom Author-Service zum Publish-Service verteilt. Die Adobe-Pipeline ist ein isolierter Microservice, der nur in der Cloud-Umgebung verfügbar ist.
Bei der Entwicklung kann es wünschenswert sein, die Verteilung von Inhalten mithilfe des lokalen Author- und Publish-Service zu simulieren. Dies kann durch Aktivierung der Legacy-Replikationsagenten erreicht werden.
-
Melden Sie sich beim Authoring-Service an und navigieren Sie zu http://localhost:4502/etc/replication/agents.author.html.
-
Klicken Sie auf Standardagent (Publish), um den Standard-Replikationsagenten zu öffnen.
-
Klicken Sie auf Bearbeiten, um die Konfiguration des Agenten zu öffnen.
-
Aktualisieren Sie auf der Registerkarte Einstellungen die folgenden Felder:
- Aktiviert: Setzen Sie ein Häkchen
- Agenten-Benutzer-ID: Lassen Sie dieses Feld leer
-
Aktualisieren Sie auf der Registerkarte Transport die folgenden Felder:
- URI -
http://localhost:4503/bin/receive?sling:authRequestLogin=1
- Benutzer -
admin
- Passwort –
admin
- URI -
-
Klicken Sie auf Ok, um die Konfiguration zu speichern und den standardmäßigen Replikationsagenten zu aktivieren.
-
Sie können jetzt Änderungen an Inhalten im Author-Service vornehmen und sie im Publish-Service veröffentlichen.
Schnellstart-JAR-Startmodi
Die Benennung der Schnellstart-JAR-Datei, aem-<tier>_<environment>-p<port number>.jar
gibt an, wie es gestartet wird. Sobald AEM in einer bestimmten Ebene (Author oder Publish) gestartet wurde, kann es nicht mehr in die alternative Ebene geändert werden. Dazu muss der beim ersten Lauf erzeugte Ordner crx-Quickstart
gelöscht und die Schnellstart-JAR erneut ausgeführt werden. Umgebung und Ports können geändert werden, dies erfordert jedoch das Anhalten/Starten der lokalen AEM-Instanz.
Das Ändern von Umgebungen, dev
, stage
und prod
, kann für Entwicklerinnen und Entwickler nützlich sein, um sicherzustellen, dass umgebungsspezifische Konfigurationen korrekt definiert und von AEM aufgelöst werden. Es wird empfohlen, dass die lokale Entwicklung in erster Linie mit dem Standardausführungsmodus der Umgebung dev
erfolgt.
Folgende Permutationen sind verfügbar:
aem-author-p4502.jar
aem-author_dev-p4502.jar
aem-author-p4502.jar
)aem-author_stage-p4502.jar
aem-author_prod-p4502.jar
aem-publish-p4503.jar
aem-publish_dev-p4503.jar
aem-publish-p4503.jar
)aem-publish_stage-p4503.jar
aem-publish_prod-p4503.jar
Beachten Sie, dass die Port-Nummer ein beliebiger verfügbarer Port auf dem lokalen Entwicklungs-Computer sein kann, jedoch gemäß folgenden Richtlinien:
- Port 4502 wird für den lokalen AEM-Author-Service verwendet
- Port 4503 wird für den lokalen AEM-Publish-Service verwendet
Eine Änderung dieser Einstellungen kann Anpassungen der AEM SDK-Konfigurationen erfordern
Beenden einer lokalen AEM-Laufzeit
Um eine lokale AEM-Laufzeit zu beenden, entweder den AEM-Author- oder -Publish-Service, öffnen Sie das Befehlszeilenfenster, das zum Starten der AEM-Laufzeit verwendet wurde, und drücken Sie Ctrl-C
. Warten Sie, bis AEM heruntergefahren ist. Wenn der Prozess des Herunterfahrens abgeschlossen ist, ist die Eingabeaufforderung für die Befehlszeile verfügbar.
Optionale Aufgaben zur Einrichtung der lokalen AEM-Laufzeit
- OSGi-Konfigurationsumgebungsvariablen und geheime Variablen werden speziell für die lokale AEM-Laufzeit festgelegt, anstatt sie über die AIO-CLI zu verwalten.
Wann die Schnellstart-JAR aktualisiert werden sollte
Aktualisieren Sie das AEM SDK mindestens einmal im Monat am oder kurz nach dem letzten Donnerstag des Monats, was der Veröffentlichungshäufigkeit für „Funktionsveröffentlichungen“ für AEM as a Cloud Service entspricht.
Vermeiden von Inhaltsverlusten beim Aktualisieren des AEM SDK
Durch die Aktualisierung des AEM SDK wird effektiv eine brandneue AEM-Laufzeit erstellt, einschließlich eines neuen Repositorys, d. h. alle Änderungen, die an einem früheren AEM SDK-Repository vorgenommen wurden, gehen verloren. Im Folgenden finden Sie praktikable Strategien zur Unterstützung der Inhaltserstellung zwischen AEM SDK-Upgrades und können diskret oder gemeinsam verwendet werden:
- Erstellen Sie ein Inhaltspaket mit Beispielinhalten, um die Entwicklung zu unterstützen, und verwalten Sie es in Git. Alle Inhalte, die durch AEM SDK-Upgrades hindurch persistiert werden sollen, werden in diesem Paket persistiert und nach der Aktualisierung des AEM SDK erneut bereitgestellt.
- Verwenden Sie oak-upgrade mit der Direktive
includepaths
, um Inhalte aus dem vorherigen AEM SDK-Repository in das neue AEM SDK-Repository zu kopieren. - Sichern Sie alle Inhalte und Inhaltspakete mit AEM Package Manager auf dem vorherigen AEM SDK und installieren Sie sie erneut auf dem neuen AEM SDK.
Denken Sie daran, dass die Verwendung der oben genannten Ansätze zur Wartung von Code zwischen AEM SDK-Upgrades ein negatives Verhaltensmuster bei der Entwicklung darstellt. Nicht verfügbarer Code sollte aus Ihrer Entwicklungs-IDE stammen und über Implementierungen in das AEM SDK fließen.
Fehlerbehebung
Beim Doppelklicken auf die Schnellstart-JAR-Datei tritt ein Fehler auf troubleshooting-double-click
Wenn Sie auf die Schnellstart-JAR-Datei doppelklicken, wird ein Fehler-Modal angezeigt, das verhindert, dass AEM lokal gestartet wird.
Dies liegt daran, dass AEM as a Cloud Service das Doppelklicken der Schnellstart-JAR-Datei nicht unterstützt, um AEM lokal zu starten. Stattdessen müssen Sie die JAR-Datei über diese Befehlszeile ausführen.
Um den AEM-Author-Service zu starten, wechseln Sie mit cd
in das Verzeichnis, das die Schnellstart-JAR enthält, und führen Sie den folgenden Befehl aus:
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Oder, um den AEM-Publish-Service zu starten, wechseln Sie mit cd
in das Verzeichnis, das die Schnellstart-JAR enthält, und führen Sie den folgenden Befehl aus:
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
Ein Starten der Schnellstart-JAR-Datei über die Befehlszeile wird sofort abgebrochen troubleshooting-java-8
Beim Starten der Schnellstart-JAR-Datei über die Befehlszeile wird der Prozess sofort abgebrochen, der AEM Service startet nicht und folgender Fehler erscheint:
➜ ~/aem-sdk/author: java -jar aem-author-p4502.jar
Loading quickstart properties: default
Loading quickstart properties: instance
java.lang.Exception: Quickstart requires a Java Specification 11 VM, but your VM (Java HotSpot(TM) 64-Bit Server VM / Oracle Corporation) reports java.specification.version=1.8
at com.adobe.granite.quickstart.base.impl.Main.checkEnvironment(Main.java:1046)
at com.adobe.granite.quickstart.base.impl.Main.<init>(Main.java:646)
at com.adobe.granite.quickstart.base.impl.Main.main(Main.java:981)
Quickstart: aborting
Dies liegt daran, dass AEM as a Cloud Service Java™ SDK 11 erfordert und Sie eine andere Version verwenden, höchstwahrscheinlich Java™ 8. Um dieses Problem zu beheben, laden Sie das Oracle Java™ SDK 11 herunter und installieren Sie es.
Sobald das Oracle Java™ 11 SDK installiert wurde, vergewissern Sie sich, dass es sich um die aktive Version handelt, indem Sie folgenden Befehl in der Befehlszeile ausführen:
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|