AEM 项目原型

AEM 项目原型是一个 Maven 模板,它创建最小的基于最佳实践的 Adobe Experience Manager (AEM) 项目作为您网站的起点。

小贴士

在 GitHub 上可找到最新的 AEM 项目原型。

资源

  • 原型文档(本文档):​原型架构及其不同模块的概述。
  • 以下教程基于此原型:

功能

用途

要生成项目,请调整以下命令行以满足您的需求:

mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate \
 -D archetypeGroupId=com.adobe.aem \
 -D archetypeArtifactId=aem-project-archetype \
 -D archetypeVersion=XX \
 -D appTitle="My Site" \
 -D appId="mysite" \
 -D groupId="com.mysite" \
  • XX 替换为最新的原型版本号。
  • AEM as a Cloud Service 设置 aemVersion=cloud
    Adobe Managed Services 或内部部署设置 aemVersion=6.5.0
    仅为非云 AEM 版本添加核心组件依赖项,因为核心组件是针对 AEM as a Cloud Service 提供的 OOTB。
  • 调整 appTitle="My Site" 以定义网站标题和组件组。
  • 调整 appId="mysite" 以定义 Maven artifactId、组件、配置和内容文件夹名称以及客户端库名称。
  • 调整 groupId="com.mysite" 以定义 Maven groupId 和 Java 源程序包。
  • 查找可用属性列表以了解是否还需要调整其他属性。

可用属性

名称 默认 描述
appTitle 应用程序标题,将用于网站标题和组件组(例如 "My Site")。
appId 技术名称,将用于组件、配置和内容文件夹名称以及客户端库名称(例如,"mysite")。
artifactId ${appId} 基本 Maven 构件 ID(例如 "mysite")。
groupId 基本 Maven 组 ID(例如 "com.mysite")。此值必须是有效的 Java 包名称。
package ${groupId} Java 源程序包(例如 "com.mysite")。
version 1.0-SNAPSHOT 项目版本(例如 1.0-SNAPSHOT)。
aemVersion cloud 目标 AEM 版本(可以是 AEM as a Cloud Servicecloud;或 Adobe Managed Services 或内部部署的 6.5.06.4.4)。
sdkVersion latest 在为 aemVersion=cloud 时,可指定开发工具包版本(例如 2020.02.2265.20200217T222518Z-200130)。
includeDispatcherConfig y 包括用于云或 AMS/内部部署的 Dispatcher 配置,具体取决于 aemVersion 的值(可以是 yn)。
frontendModule general 包含一个生成客户端库的 Webpack 前端构建模块(可以是面向常规站点的 generalnone;可以是面向实施 SPA 编辑器的单页面应用程序的 angularreact)。
language en 从中创建内容结构的语言代码 (ISO 639-1)(例如 endeu)。
country us 从中创建内容结构的国家/地区代码 (ISO 3166-1)(例如 US)。
singleCountry y 包含语言主导的内容结构(可以是 yn)。
includeExamples n 包含组件库示例站点(可以是 yn)。
includeErrorHandler n 包含将为整个实例全局设置的自定义 404 响应页面(可以是 yn)。
includeCommerce n 包含 CIF 核心组件依赖项并生成相应的构件。
commerceEndpoint 仅对于 CIF 是必需的。要使用的商务系统 GraphQL 服务的可选端点(例如 https://hostname.com/grapql)。
includeFormscommunications n 包括 Forms 核心组件依赖项、模板、表单数据模型、主题,并为 Forms 通信程序生成相应的伪像。
includeFormsenrollment n 包括 Forms 核心组件依赖项、模板、表单数据模型、主题,并为 Forms 注册程序生成相应的伪像。
sdkFormsVersion latest aemVersion=cloud 并且 includeFormsenrollment=yincludeFormscommunications=y 其中之一时,可指定 Forms SDK 版本(例如 2020.12.17.02)。
datalayer y 激活与 Adobe Client Data Layer 的集成。
amp n 为生成的项目模板启用 AMP 支持。
enableDynamicMedia n 在项目策略设置中启用基础 DynamicMedia 组件,并在核心图像组件的策略中激活 Dynamic Media 功能。
enableSSR n 用于为前端项目启用 SSR 的选项
precompiledScripts n 用于从 ui.apps 预编译服务器端脚本并将它们作为 ui.apps 项目中的次捆绑构件附加到版本的选项。aemVersion 应设置为 cloud
includeFormsheadless n 包括 Forms 核心组件依赖项、ui.frontend.react.forms.af 和 Headless 构件。

系统要求

原型 AEM as a Cloud Service AEM 6.5 Java SE Maven
41 连续 6.5.7.0+ 8, 11 3.3.9+

AEM as a Cloud Service SDK旧版本的 AEM 设置本地开发环境。

已知问题

在 Windows 上运行并生成 Dispatcher 配置时,您应在提升权限的命令提示符下或适用于 Linux 的 Windows 子系统中运行(请参阅 #329)。

在交互模式下执行原型(不带 -B 参数)时,无法更改带默认值的属性,除非取消最终确认,这随后会在问题中包含带默认值的属性来重复问题(有关详细信息,请参阅
ARCHETYPE-308)。

在使用 File -> New -> Maven Project 开始新项目时,无法在 Eclipse 中使用此原型,因为 Eclipse 问题导致无法执行后生成脚本 archetype-post-generate.groovy解决方法是使用上面的命令行,然后在 Eclipse 中,使用 File -> Import -> Existing Maven Project

深入阅读

有关使用原型的更多详细信息,包括其好处、选项及其模块的工作方式,请参阅使用原型文档。

在此页面上