設定本機 AEM SDK set-up-local-aem-sdk

Adobe Experience Manager (AEM) 可透過 AEM as a Cloud Service SDK 的 Quickstart Jar 在本機上執行。這讓開發人員在將自訂程式碼、設定和內容送交來源控制項前,即可先行部署和測試,然後再部署至 AEM as a Cloud Service 環境。

請注意,~是用作使用者目錄的速記。 在Windows中,這相當於%HOMEPATH%

安裝Java™

Experience Manager是一種Java™應用程式,因此需要OracleJava™ SDK來支援開發工具。

  1. 下載並安裝最新的Java™ SDK 11
  2. 執行命令,確認已安裝Oracle Java™ 11 SDK:
macOS
code language-shell
$ java --version
Windows
code language-shell
$ java -version
Linux®
code language-shell
$ java --version

Java

下載AEM as a Cloud Service SDK

AEM as a Cloud Service SDK (或AEM SDK)包含用於在本機執行AEM Author和Publish以進行開發的Quickstart Jar,以及相容版本的Dispatcher Tools。

  1. 使用您的Adobe ID登入https://experience.adobe.com/#/downloads
    • 請注意,您的Adobe組織​ 必須 ​已布建給AEM as a Cloud Service,才能下載AEM as a Cloud Service SDK。
  2. 導覽至​ AEM as a Cloud Service ​標籤
  3. 以​ 遞減 ​的順序依​ 發佈日期 ​排序
  4. 按一下最新的​ AEM SDK ​結果列
  5. 檢閱並接受EULA,然後點選​ 下載 ​按鈕

從AEM SDK zip解壓縮Quickstart Jar

  1. 解壓縮下載的aem-sdk-XXX.zip檔案

設定本機AEM Author服務 set-up-local-aem-author-service

本機AEM作者服務為開發人員提供本機體驗,數位行銷人員/內容作者將共用該體驗來建立和管理內容。 AEM Author Service在設計上既是製作環境,又是預覽環境,可讓您針對此環境執行功能開發的大部分驗證,使其成為本機開發流程的重要元素。

  1. 建立資料夾~/aem-sdk/author

  2. 將​ Quickstart JAR ​檔案複製到~/aem-sdk/author並將它重新命名為aem-author-p4502.jar

  3. 從命令列執行下列動作,啟動本機AEM Author Service:

    • java -jar aem-author-p4502.jar
      • 提供管理員密碼做為admin。 可接受任何管理員密碼,但建議使用本機開發的預設值,以減少重新設定的需求。

    您​ 無法 ​按兩下🔗,以Cloud Service快速入門Jar 形式啟動AEM。

  4. 在網頁瀏覽器中存取本機AEM作者服務: http://localhost:4502

macOS
code language-shell
$ mkdir -p ~/aem-sdk/author
$ cp aem-sdk-Quickstart-XXX.jar ~/aem-sdk/author/aem-author-p4502.jar
$ cd ~/aem-sdk/author
$ java -jar aem-author-p4502.jar
Windows
code language-shell
$ mkdir -p c:\Users\<My User>\aem-sdk\author
$ copy aem-sdk-Quickstart-XXX.jar c:\Users\<My User>\aem-sdk\author\aem-author-p4502.jar
$ cd c:\Users\<My User>\aem-sdk\author
$ java -jar aem-author-p4502.jar
Linux®
code language-shell
$ mkdir -p ~/aem-sdk/author
$ cp aem-sdk-Quickstart-XXX.jar ~/aem-sdk/author/aem-author-p4502.jar
$ cd ~/aem-sdk/author
$ java -jar aem-author-p4502.jar

設定本機AEM Publish服務

本機AEM Publish服務為開發人員提供AEM的本機體驗使用者將擁有的體驗,例如瀏覽存放在AEM上的網站。 本機AEM Publish服務相當重要,因為它與AEM SDK的Dispatcher工具整合,可讓開發人員進行煙霧測試和微調面對最終使用者的體驗。

  1. 建立資料夾~/aem-sdk/publish

  2. 將​ Quickstart JAR ​檔案複製到~/aem-sdk/publish並將它重新命名為aem-publish-p4503.jar

  3. 從命令列執行以下命令,啟動本機AEM Publish Service:

    • java -jar aem-publish-p4503.jar
      • 提供管理員密碼做為admin。 可接受任何管理員密碼,但建議使用本機開發的預設值,以減少重新設定的需求。

    您​ 無法 ​按兩下🔗,以Cloud Service快速入門Jar 形式啟動AEM。

  4. 在網頁瀏覽器中存取本機AEM Publish服務: http://localhost:4503

macOS
code language-shell
$ mkdir -p ~/aem-sdk/publish
$ cp aem-sdk-Quickstart-XXX.jar ~/aem-sdk/publish/aem-publish-p4503.jar
$ cd ~/aem-sdk/publish
$ java -jar aem-publish-p4503.jar
Windows
code language-shell
$ mkdir -p c:\Users\<My User>\aem-sdk\publish
$ copy aem-sdk-Quickstart-XXX.jar c:\Users\<My User>\aem-sdk\publish\aem-publish-p4503.jar
$ cd c:\Users\<My User>\aem-sdk\publish
$ java -jar aem-publish-p4503.jar
Linux®
code language-shell
$ mkdir -p ~/aem-sdk/publish
$ cp aem-sdk-Quickstart-XXX.jar ~/aem-sdk/publish/aem-publish-p4503.jar
$ cd ~/aem-sdk/publish
$ java -jar aem-publish-p4503.jar

在發行前模式下設定本機AEM服務

本機AEM執行階段可在發行前模式中啟動,允許開發人員針對AEM as a Cloud Service的下一個發行版本功能進行建置。 透過在本機AEM執行階段的第一個開始傳遞-r prerelease引數來啟用發行前版本。 這可同時用於本機AEM Author和AEM Publish服務。

macOS
code language-shell
# For AEM Author service in prerelease mode
$ java -jar aem-author-p4502.jar -r prerelease

# For AEM Publish service in prerelease mode
$ java -jar aem-publish-p4503.jar -r prerelease
Windows
code language-shell
# For AEM Author service in prerelease mode
$ java -jar aem-author-p4502.jar -r prerelease

# For AEM Publish service in prerelease mode
$ java -jar aem-publish-p4503.jar -r prerelease
Linux®
code language-shell
# For AEM Author service in prerelease mode
$ java -jar aem-author-p4502.jar -r prerelease

# For AEM Publish service in prerelease mode
$ java -jar aem-publish-p4503.jar -r prerelease

模擬內容發佈 content-distribution

在真正的Cloud Service環境中,內容是使用Sling內容發佈和Adobe管線從作者服務發佈到Publish服務。 Adobe管道是只能在雲端環境中使用的隔離微服務。

在開發期間,可能最好使用本機Author和Publish服務來模擬內容的分佈。 這可透過啟用舊版復寫代理程式來達成。

NOTE
復寫代理程式僅可用於本機Quickstart JAR,且僅提供內容發佈的模擬。
  1. 登入​ 作者 ​服務並導覽至http://localhost:4502/etc/replication/agents.author.html

  2. 按一下​ 預設代理程式(發佈) ​以開啟預設復寫代理程式。

  3. 按一下​ 編輯 ​以開啟代理程式的設定。

  4. 在​ 設定 ​標籤下,更新下列欄位:

    • 已啟用 — 檢查true
    • 代理程式使用者ID — 留空此欄位

    復寫代理程式組態 — 設定

  5. 在​ 傳輸 ​標籤下,更新下列欄位:

    • URI - http://localhost:4503/bin/receive?sling:authRequestLogin=1
    • 使用者 - admin
    • 密碼 - admin

    復寫代理程式設定 — 傳輸

  6. 按一下​ 確定 ​以儲存設定並啟用​ 預設 ​復寫代理程式。

  7. 您現在可以變更Author服務上的內容,並將其發佈至Publish服務。

Publish頁面

快速入門Jar啟動模式

快速入門Jar aem-<tier>_<environment>-p<port number>.jar的命名會指定其啟動方式。 AEM一旦在特定層、作者或發佈中啟動,就無法變更為替代層。 若要這麼做,必須刪除第一次執行期間產生的crx-Quickstart資料夾,而且必須重新執行Quickstart Jar。 環境和連線埠可以變更,但是它們需要停止/啟動本機AEM執行個體。

變更環境devstageprod對開發人員很有用,可確保環境特定的設定已由AEM正確定義和解析。 建議主要針對預設dev環境執行模式執行本機開發。

可用的排列如下:

快速入門Jar檔案名稱
模式說明
aem-author-p4502.jar
在連線埠4502上以開發執行模式的作者身分
aem-author_dev-p4502.jar
作為作者,在連線埠4502上處於開發執行模式(與aem-author-p4502.jar相同)
aem-author_stage-p4502.jar
作為作者,在連線埠4502上處於測試執行模式
aem-author_prod-p4502.jar
在連線埠4502上以生產執行模式中的作者身分
aem-publish-p4503.jar
在連線埠4503上當作Publish處於開發執行模式
aem-publish_dev-p4503.jar
做為開發模式下的Publish在連線埠4503上的執行模式(與aem-publish-p4503.jar相同)
aem-publish_stage-p4503.jar
在連線埠4503上當作Publish在中繼執行模式
aem-publish_prod-p4503.jar
在連線埠4503上以生產執行模式作為Publish

請注意,連線埠號碼可以是本機開發電腦上任何可用的連線埠,不過依照慣例而定:

  • 連線埠​ 4502 ​用於​ 本機AEM作者服務
  • 連線埠​ 4503 ​用於​ 本機AEM Publish服務

變更這些專案可能需要調整AEM SDK設定

正在停止本機AEM執行階段

若要停止本機AEM執行階段(AEM Author或Publish服務),請開啟用來啟動AEM執行階段的命令列視窗,然後點選Ctrl-C。 等待AEM關閉。 當關機程式完成時,命令列提示字元可用。

選擇性本機AEM執行階段設定工作

  • OSGi設定環境變數和密碼變數 ​是為AEM本機執行階段🔗專門設定的,而不是使用aio CLI來管理它們。

何時更新Quickstart Jar

至少每月於每月最後一個星期四或之後不久更新AEM SDK,這是AEM as a Cloud Service「功能發行」的發行步調。

WARNING
將快速入門Jar更新為新版本需要取代整個本機開發環境,導致遺失本機AEM存放庫中的所有程式碼、設定和內容。 確保任何不應銷毀的程式碼、設定或內容已安全地提交至Git,或從本機AEM執行個體匯出為AEM套件。

升級AEM SDK時如何避免內容遺失

升級AEM SDK實際上會建立全新的AEM執行階段,包括新的存放庫,這表示對先前AEM SDK的存放庫所做的任何變更都會遺失。 以下是協助在AEM SDK升級之間儲存內容的可行策略,可個別或一致使用:

  1. 建立專用於包含「範例」內容的內容套件,以輔助開發並在Git中進行維護。 任何應透過AEM SDK升級儲存的內容將儲存在此套件中,並在升級AEM SDK後重新部署。
  2. 使用oak-upgrade搭配includepaths指示詞,將內容從先前的AEM SDK存放庫複製到新的AEM SDK存放庫。
  3. 使用舊版AEM SDK上的AEM Package Manager和內容套件備份任何內容,並在新的AEM SDK上重新安裝它們。

請記住,在AEM SDK升級之間使用上述方法來維護程式碼,表示開發反模式。 非一次性程式碼應源自於您的開發IDE,並透過部署流入AEM SDK。

疑難排解

連按兩下Quickstart Jar檔案會導致錯誤 troubleshooting-double-click

連按兩下Quickstart Jar以啟動時,會顯示錯誤強制回應視窗,防止AEM在本機啟動。

疑難排解 — 連按兩下Quickstart Jar檔案

這是因為AEM as a Cloud Service Quickstart Jar不支援按兩下Quickstart Jar以在本機啟動AEM。 而是必須從該命令列執行Jar檔案。

若要啟動AEM Author服務,cd進入包含Quickstart Jar的目錄並執行命令:

macOS
code language-shell
$ java -jar aem-author-p4502.jar
Windows
code language-shell
$ java -jar aem-author-p4502.jar
Linux®
code language-shell
$ java -jar aem-author-p4502.jar

或者,若要啟動AEM Publish服務,cd會進入包含Quickstart Jar的目錄並執行命令:

macOS
code language-shell
$ java -jar aem-publish-p4503.jar
Windows
code language-shell
$ java -jar aem-publish-p4503.jar
Linux®
code language-shell
$ java -jar aem-publish-p4503.jar

從命令列啟動「快速入門Jar」會立即中止 troubleshooting-java-8

從命令列啟動「快速入門Jar」時,程式會立即中止,AEM服務不會啟動,並出現以下錯誤:

➜  ~/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

這是因為AEM as a Cloud Service需要Java™ SDK 11,而您執行的是其他版本,很可能是Java™ 8。 若要解決此問題,請下載並安裝OracleJava™ SDK 11

安裝OracleJava™ 11 SDK後,從命令列執行命令,確認其為使用中版本:

macOS
code language-shell
$ java --version
Windows
code language-shell
$ java -version
Linux®
code language-shell
$ java --version

其他資源

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69