Adobe Experience Manager(AEM)可以使用AEMas a Cloud Service SDK的快速入门Jar在本地运行。 这允许开发人员在将自定义代码、配置和内容提交到源控件之前,先对其进行部署和测试,然后将其部署到AEMas a Cloud Service环境。
请注意 ~
用作用户目录的简写形式。 在Windows中,这等同于 %HOMEPATH%
.
Experience Manager是一个Java应用程序,因此需要Java SDK支持开发工具。
java -version
java --version
AEMas a Cloud ServiceSDK或AEM SDK包含用于在本地运行AEM创作和发布以进行开发的快速入门Jar,以及兼容版本的调度程序工具。
aem-sdk-XXX.zip
文件本地AEM创作服务为开发人员提供将共享以创建和管理内容的本地体验数字营销人员/内容作者。 AEM创作服务既是创作环境,又是预览环境,因此可以对其执行大多数功能开发验证,从而使其成为本地开发流程的关键元素。
创建文件夹 ~/aem-sdk/author
复制 快速入门JAR 文件到 ~/aem-sdk/author
将其重命名为 aem-author-p4502.jar
通过从命令行执行以下命令来启动本地AEM创作服务:
java -jar aem-author-p4502.jar
admin
. 可接受任何管理员密码,但建议将默认密码用于本地开发,以减少重新配置的需要。您 无法 将AEM启动为Cloud Service快速入门Jar 通过双击.
访问本地AEM创作服务: http://localhost:4502 在Web浏览器中
Windows:
$ 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
macOS / Linux:
$ 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发布服务为开发人员提供AEM的本地体验最终用户将拥有的体验,例如浏览托管在AEM上的网站。 本地AEM发布服务很重要,因为它与AEM SDK的集成 调度程序工具 并允许开发人员对面向最终用户的最终体验进行烟度测试和微调。
创建文件夹 ~/aem-sdk/publish
复制 快速入门JAR 文件到 ~/aem-sdk/publish
将其重命名为 aem-publish-p4503.jar
通过从命令行执行以下命令来启动本地AEM发布服务:
java -jar aem-publish-p4503.jar
admin
. 可接受任何管理员密码,但建议将默认密码用于本地开发,以减少重新配置的需要。您 无法 将AEM启动为Cloud Service快速入门Jar 通过双击.
访问本地AEM发布服务: http://localhost:4503 在Web浏览器中
Windows:
$ 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
macOS / Linux:
$ 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 as a Cloud Service下一版本的功能进行构建。 通过传递 -r prerelease
本地AEM运行时的首次开始时的参数。 这可以与本地AEM创作和AEM发布服务一起使用。
# 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
在真正的Cloud Service环境中,使用 Sling内容分发 和Adobe管道。 的 Adobe管道 是仅在云环境中可用的独立微服务。
在开发过程中,可能希望使用本地创作和发布服务来模拟内容的分发。 这可以通过启用旧版复制代理来实现。
复制代理仅可在本地快速入门JAR中使用,并仅提供内容分发的模拟。
登录到 作者 服务和导航到 http://localhost:4502/etc/replication/agents.author.html.
单击 默认代理(发布) 打开默认复制代理。
单击 编辑 打开代理的配置。
在 设置 ,请更新以下字段:
在 运输 ,请更新以下字段:
http://localhost:4503/bin/receive?sling:authRequestLogin=1
admin
admin
单击 确定 保存配置并启用 默认 复制代理。
您现在可以对创作服务上的内容进行更改,然后将其发布到发布服务。
快速入门Jar的命名, aem-<tier>_<environment>-p<port number>.jar
指定启动方式。 在特定层、创作或发布中启动AEM后,便无法将其更改为替代层。 为此, crx-Quickstart
必须删除在首次运行期间生成的文件夹,并且必须再次运行快速入门Jar。 可以更改环境和端口,但需要停止/启动本地AEM实例。
更改环境, dev
, stage
和 prod
,对于开发人员而言,这有助于确保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上以开发运行模式发布 |
aem-publish_dev-p4503.jar |
在端口4503上以开发运行模式发布(与 aem-publish-p4503.jar ) |
aem-publish_stage-p4503.jar |
在端口4503上以暂存运行模式发布 |
aem-publish_prod-p4503.jar |
在端口4503上以生产运行模式发布 |
请注意,端口号可以是本地开发计算机上的任何可用端口,但按惯例:
更改这些配置可能需要对AEM SDK配置进行调整
要停止本地AEM运行时(AEM创作或发布服务),请打开用于启动AEM运行时的命令行窗口,然后点按 Ctrl-C
. 等待AEM关闭。 关闭过程完成后,将显示命令行提示符。
每月最后一个星期四(即AEMas a Cloud Service“功能发布”的发行频率),即至少每月或之后不久更新AEM SDK。
将快速入门Jar更新为新版本需要替换整个本地开发环境,从而导致本地AEM存储库中的所有代码、配置和内容丢失。 确保任何不应被销毁的代码、配置或内容都安全地提交到Git,或从本地AEM实例中导出为AEM Packages。
升级AEM SDK实际上是在创建一个全新的AEM运行时,包括一个新的存储库,这意味着对之前AEM SDK的存储库所做的任何更改都将丢失。 以下是有助于在AEM SDK升级期间保留内容的可行策略,可以单独使用或协同使用:
includepaths
指令,将内容从之前的AEM SDK存储库复制到新的AEM SDK存储库。请记住,使用上述方法在AEM SDK升级期间维护代码,表示开发存在反模式问题。 非可弃用代码应源自您的开发IDE,并通过部署流入AEM SDK。
双击要启动的快速入门Jar时,会显示一个错误模式,阻止AEM从本地启动。
这是因为AEMas a Cloud Service快速入门Jar不支持双击快速入门Jar以在本地启动AEM。 而是必须从该命令行运行Jar文件。
要启动AEM创作服务,请执行以下操作: cd
进入包含快速入门Jar的目录,然后执行命令:
$ java -jar aem-author-p4502.jar
或者,要启动AEM发布服务, cd
进入包含快速入门Jar的目录,然后执行命令:
$ java -jar aem-publish-p4503.jar
从命令行启动快速入门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.
安装Java SDK 11后,通过从命令行执行以下命令来验证它是活动版本。
安装Java 11 SDK后,通过从命令行中运行命令来验证它是活动版本:
java -version
java --version